程序如下:
#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
可见地址是一样的,原因是:
1:c编译器的优化,因为是int j循环后就不可用了,函数的作用域的问题。所以可以分配相同的内存。