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

指针运算与内存地址的运算好像有点矛盾

指针p++是向下移一格但为什么内存地址是增加的。不是说栈顶是从高地址向低地址移动的吗?

正在回答

4 回答

http://img1.sycdn.imooc.com//598f3c3f000183e501780442.jpg箭头指向就是栈顶 也就是低地址

0 回复 有任何疑惑可以回复我~

栈顶可是低地址啊兄弟。

0 回复 有任何疑惑可以回复我~
#1

不看6324不混吃等死

栈顶是低地址往下移动就是内存地址就是增加啊 等等补个图给你看
2017-08-13 回复 有任何疑惑可以回复我~

其实不要用上下来对应理解地址的偏移比较好,而是用高低来理解

0 回复 有任何疑惑可以回复我~

地址是连续

下移一格的说法不够准确并不能判断,假设你想象地址是个竖着的高楼,那么地址下移一格自然是减少,你要是把这个高楼平躺在地上也就是横着的一个长条,那么下移一格自然代表就是增加的意思了,但是p++可以明确的说明地址是被增加了的。

至于栈顶从高到低,是说从0xfffffffffff(为栈顶地址)到0(代码段地址),这个难道不是从高到低吗

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

指针运算与内存地址的运算好像有点矛盾

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信