关于栈区变量内存地址

来源:6-10 CPP程序的存储区域划分

云风眠

2020-06-22



http://img.mukewang.com/szimg/5ef0853c0938dc5811850753.jpg

上面这张图是我自己在编译器上运行的,内存地址是递增的


下面这张图是老师上课的内容,内存地址是递减的


http://img.mukewang.com/szimg/5ef085a909e6401408830718.jpg

为什么两者运行结果不一样

写回答

3回答

quickzhao

2020-06-22

这和32位64位系统生成栈空间的方式有关,64位函数在函数入口时开辟空间是朝高地址分配的,32位相反,我用的是32位的,你切回到32位代码生成就一样了。

1
0

云风眠

提问者

2020-06-22

老师 我多试了几个变量 地址还是一样递增在编译器上 

//img.mukewang.com/szimg/5ef08def09d9cbb311760894.jpg

//img.mukewang.com/szimg/5ef08def095bd58d09480617.jpg


0
0

云风眠

提问者

2020-06-22

图片 手机上看不太清楚 只能电脑端上来点击图片查看大图才能看的清楚 辛苦老师在PC端来看一下了

0
2
云风眠
回复
quickzhao
老师我多试了几个变量 然后在我这边的编译器上还是递增的 相关的截图在我另外一个评论里 麻烦老师看一下
2020-06-22
共2条回复

重学C++ ,重构你的C++知识体系

一部大片,一段历史,构建C++知识框架的同时重塑你的编程思维

3884 学习 · 1103 问题

查看课程