当前位置: 代码迷 >> C语言 >> 一个关于数据类型的笔试题
  详细解决方案

一个关于数据类型的笔试题

热度:144   发布时间:2007-08-16 16:34:32.0
一个关于数据类型的笔试题
unsigned char *p1;
unsigned long *p2;
p1=(unsigned char *)0x801000;
p2=(unsigned long *)0x810000;
请问p1+5= ;
p2+5= ;
上面的是一道笔试题。
请问: p1=(unsigned char *)0x801000;p2=(unsigned long *)0x810000;
这两句什么意思?我怎么没见过?
这道题什么意思呢?
谢谢!
搜索更多相关的解决方案: 笔试  类型  数据  

----------------解决方案--------------------------------------------------------

unsigned char *p2;
p2=(unsigned char *)0x810000;

这里p1+5,指的是指针移动5个sizeof(unsigned long)长度。

所以p1+5 = 0x801014 (如果unsigned long 是4个字节的话)


----------------解决方案--------------------------------------------------------
意思是将16进制数强制类型转换为无符号字符指针
这样p1所指的地址就是0x801000
----------------解决方案--------------------------------------------------------
  相关解决方案