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

来源:5-2 指针运算

慕粉4000954

2016-10-26 13:55

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

写回答 关注

4回答

  • 不看6324不混吃等死
    2017-08-13 01:36:55

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

  • 不看6324不混吃等死
    2017-08-13 01:25:35

    栈顶可是低地址啊兄弟。

    不看6324...

    栈顶是低地址往下移动就是内存地址就是增加啊 等等补个图给你看

    2017-08-13 01:33:05

    共 1 条回复 >

  • 慕粉1304077173
    2017-06-04 22:36:48

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

  • 慕码人1088981
    2016-10-28 14:23:07

    地址是连续

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

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

Linux C语言指针与内存

指针-C语言的核心,代领大家对c语言有更加深刻的理解

116475 学习 · 250 问题

查看课程

相似问题