读书人

变量在栈中的位置,该怎么处理

发布时间: 2013-09-28 10:01:20 作者: rapoo

变量在栈中的位置
在函数里定义的两个数组:
int buffer1[16];
int buffer2[16];
通过debug可以查看两个数组的地址。
现在的问题是:
我查看到buffer1的地址0x2000aa10,buffer2的地址是0x2000aa20,
但是我修改其他部分代码时,再debug时,发现buffer2的地址0x2000aa10,buffer1的地址是0x2000aa20
为什么颠倒了呢?

[解决办法]

引用:
但是如果代码保持不变的话,这两个数组的顺序是固定的
不是哦
换编译器 处理方式可能就不一样
不换编译器 你换编译参数
改优化选项 结果也可能会不一样的

这些变量的内存分配不存在谁必须在前 谁必须在后的说法

读书人网 >C语言

热点推荐