来看一下
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)