首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

关于c中局部变量的分配有关问题

2012-03-16 
关于c中局部变量的分配问题程序如下:#include stdio.hint main () {int index 10,ifor (i 0i in

关于c中局部变量的分配问题
程序如下:
#include "stdio.h"
int main () {
int index = 10,i;
for (i = 0;i < index;i++) {
int j = 3;
printf("%o\n",&j);
}
}
程序的输出的结果是:
4577564
4577564
4577564
4577564
4577564
4577564
4577564
4577564
4577564
4577564
我的疑问是:输出的地址多是相同的,但是每一次循环j不应该重新的分配变量j的空间吗?为什么没有重新的分配?


[解决办法]
1)C编译器会优化程序。
2)并且你循环里的代码固定,每次分配回收栈的位置是固定的,也就是地址不变。

热点排行