p1+5=(unsigned char *)0x801005;
p2+5=(unsigned long *)0x810005;
0x801005
0x810014
签到。。。。。。。。。。。。。
:loveliness:
:loveliness::loveliness:0x8010050x81000a
签到签到~~~~
0x801005
0x810014
签到...............
签到:lol:lol:lol
签到签到
这考察的是指针加法中1代表什么的问题
在这里1代表的是一个单位量
p1+5=p1+5*1=p1+5*sizeof(unsigned char)=p1+5*1=0x801000+ox5=0x801005
p2+5=p2+5*1=p2+5*sizeof(unsigned long)=p1+5*4=0x810000+20=0x810000+0x14=0x810014
p1+5的值是0x801005,因为指针变量指向的是字符,加一表示指针向后移动一个字节,那么加5代表向后移动5个字节,所以输出0x801005
p2+5的值是0x810014,因为指针变量指向的长整形的,加一表示指针向后移动4个字节,那么加5代表向后移动20个字节,所以输出0x810014
经验证也是对的,如下图所示