永发信息网

int main() { int *pa=NULL; int *pb=pa+15; printf("%x",pb); return 0; } 请问结果为什么是3C即60

答案:3  悬赏:60  手机版
解决时间 2021-02-03 05:40
int main() { int *pa=NULL; int *pb=pa+15; printf("%x",pb); return 0; } 请问结果为什么是3C即60
最佳答案
int *pa=NULL; //此处表示pa的值是0
int *pb=pa+15; //pb等于pa 值向后偏移15个int类型的空间,一个int类型占4字节,所以,结果是3c(60=15*4)
关于指针变量的加法,可以仔细看一下书中的描述
全部回答
pa指向数组a的首地址,pb指向数组a偏移量为15的地方,0x36ec+0xf(即15)*4(int *占4个字节)=0x3728,但你的程序有问题,因为pb所指向的内存内容并不固定。
楼上的,是sizeof(int *)好不好,不要误导小同学,本题碰巧int 和int *都是4,你换个short,或char试试!
指针的概念
指针就是一个存放地址的整数
你给出的代码,都是在将指针的值,作为整数,以16进制输出。
指针的算术运算,都是地址的运算。因为指针是有类型的,所以运算的结果,取决于指针的类型。
比如你上面的代码
int *pa = NULL;
NULL就是0,也就是说 pa保存的地址是0。
int *pb = pa + 15; pb 是在 pa 的地址上,偏移15个单位。因为pa和pb都是int类型的指针,所以1个单位为sizeof(int),(在32位编译器下,sizeof(int)为4。)。pa是0,pb = 0 + 15 * 4 = 60
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
佳佳爱宠物医院地址有知道的么?有点事想过去
为什么练体操的胸都不大
爱牧动物医院怎么去啊,我要去那办事
车之家汽车服务部怎么去啊,有知道地址的么
why does the eats coast have rain all year
时献周兽医专家门诊部地址好找么,我有些事要
请问在上海租房中,把房子托管给中介,房东一
渔家傲海参地址在什么地方,想过去办事
想考空乘但脚踝处有个硬币大小的纹身 如果用
“宸”字意思里可以表示为北极星。 那一个字
电影奇幻森林去哪个网站能看到啊?。求大神速
康复宠物门诊地址在什么地方,想过去办事
英语小笑话带翻译An elderly lawyer was abou
温尔思家纺大石专卖地址有知道的么?有点事想
在win8系统中搜狗输入法没办法在浏览器使用
推荐资讯
鑫隆百货在什么地方啊,我要过去处理事情
国贸大厦在哪里啊,我有事要去这个地方
段树军是和哪一女的双人第一绳跳大桥
丽人坊美容养生馆怎么去啊,我要去那办事
比投档线高1分的考生服从调剂会被退档吗?
丽源化妆城怎么去啊,有知道地址的么
江津摄影彩扩中心地址在什么地方,我要处理点
小学日记写夸碣石玄武山景色的美怎么写
蟹匡的意思是什么啊?知道的请说下!
星园妇婴用品这个地址在什么地方,我要处理点
黑妹仔美甲工作室地址在哪,我要去那里办事
发现美业传播中心地址有知道的么?有点事想过
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?