首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

来看一下解决方法

2012-03-22 
来看一下unsigned char *p1unsigned long *p2p1(unsigned char *)0x801000p2(unsigned long *)0x8100

来看一下
unsigned char *p1;
  unsigned long *p2;
  p1=(unsigned char *)0x801000;
  p2=(unsigned long *)0x810000;
  请问p1+5= ;
  p2+5= ;
为什么p1 + 5 = 0x801005而p2 + 5 = 0x810014?

[解决办法]
p+n位移量是以指针指向的变量长度为一个长度单位移动的

char是一个字节 long是4个字节

所以p1为0x801000, 而p1+5为0x801005
p2为0x810000,而p2+5为0x810014(20的十六进制为14)

热点排行
Bad Request.