win与linux下 局部变量内存布局
int x;
char a[9];
x = 0;
cout < < "&x = " < < (void*)&x < < endl;
cout < < "a = " < < (void*)a < < endl;
同样的代码在Win VS下 x 地址要大于 a 的地址,a[0] 的地址小于a[1]的
说明了栈是从高向低生长 每次运行值都不改变,说明了是虚拟地址
在linux GCC下 x 的地址要小于 a 的地址,这是为什么呢,难道又是一个编译相关的问题
而且每次运行显示的地址都不一样,这是为什么呢?
[解决办法]
编译相关,系统相关.所以没有固定解;