unsigned char *p1; unsigned long *p2; p1 = (unsigned char *)0x801000; p2 = (unsigned long *)0x810000;
801005 810005
801005 810020
801005 810014
801010 810014
解析:p1指向字符型,一次移动一个字符型,1个字节;p1+5后移5个字节,16进制表示为5;
p2指向长整型,一次移动一个长整型,4个字节,p2+5后移20字节,16进制表示为14。
{ char每次移动1个字节;short移动2个字节 ;int , long ,float移动4个字节 ;double移动8个字节}
本题本身就是不严谨的。如果在windows系统下unsigned long为四个字节,但是在Linux系统下unsigned long为八个字节。因此题目并没有指定操作系统为Windows。
{ char每次移动1个字节;short移动2个字节 ;int , long ,float移动4个字节 ;double移动8个字节
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题
p1+5=p1+5*1=p1+5*sizeof(unsigned char)=p1+5*1=0x801000+ox5=0x801005