运行demo5-7,栈区变量的地址,按变量的赋值执行顺序是由低到高,与堆区变量变化相同
来源:6-10 CPP程序的存储区域划分
qq_森林中的小熊_0
2021-03-15
由图中可以看出,变量b,s,p2在栈区的地址是递增的,与老师在视频中呈现的由高到低相反。
我用的是vs2019,系统win10,这个情况是否与编译器有关。
以下两张图是视频5-10的截图:
写回答
1回答
-
变量地址分配的大小确实依赖于编译器的行为,我课上应该讲的是32位编译结果。现代编译器可能会有一些优化,会调整变量的排列次序,使得其在各个变量基本对齐的情况下占用的栈空间最小。
012021-03-16
相似问题