为了账号安全,请及时绑定邮箱和手机立即绑定

为什么int指针“ ++”增加4而不是1?

为什么int指针“ ++”增加4而不是1?

C++ C
胡说叔叔 2019-11-18 10:20:15
指针的值是变量的地址。为什么int pointer将int指针增加1后,值又增加了4个字节。我认为,指针(变量地址)的值在指针增加后仅增加1个字节。测试代码:int a = 1, *ptr;ptr = &a;printf("0x%X\n", ptr);ptr++;printf("0x%X\n", ptr);预期产量:0xBF8D63B80xBF8D63B9实际输出:0xBF8D63B80xBF8D63BC编辑:另一个问题-如何访问一个int占用一个字节的4个字节?
查看完整描述

3 回答

?
ibeautiful

TA贡献1993条经验 获得超5个赞

指针增量基于所指向类型的大小。如果int是4个字节,则将int *递增1将使其值增加4。

如果short是2个字节,则将short *加1将使其值增加2。

这是C指针算术的标准行为。


查看完整回答
反对 回复 2019-11-18
  • 3 回答
  • 0 关注
  • 1959 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信