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

栈中变量地址的问题

为什么栈中的变量先声明的地址反而更小?栈不是递减的嘛,应该先声明的变量地址更大呀。

正在回答

3 回答

无论堆还是栈 都是自顶向下 从大到小 

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

很是迷糊!但是从视频教程来看,一楼的回复是不正确的吧!视频中rect的地址是0X4005A6,quadrate的地址是0X4005DD,按照先进的原则,rect在下(地址小),quadrate在上(地址大),从栈顶到栈低是大到小的,也就是说先分配的地址小

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

栈是先进后出嘛,栈顶的是永远是后进的,内存地址也是相对小的,从栈顶到栈底,内存地址就是从小到大的。

简单来说栈中先分配的变量,内存地址越大。

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

慕粉3792895 提问者

我跟你的想法是一样的,然而老师测试的结果却是先分配的变量地址大。
2017-06-16 回复 有任何疑惑可以回复我~
#2

慕粉3792895 提问者 回复 慕粉3792895 提问者

说错了,老师测试的结果是先分配的变量地址越小。
2017-06-16 回复 有任何疑惑可以回复我~
#3

lccundefined 回复 慕粉3792895 提问者

​http://www.imooc.com/qadetail/222520 很奇怪 不知道是不是操作系统的原因? 我这里调试是先分配的地址越大
2017-06-20 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

栈中变量地址的问题

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