首先看到网上很多网页 都说:
栈就是从高地址向低地址增长 先声明的先入栈
栈是先入后出的,一般是由高地址向低地址生长。
生长方向:
对于堆来讲,生长方向是向上的,也就是向着内存地址增加的方向;
对于栈来讲,它的生长方向是向下的,是向着内存地址减小的方向增长。
栈的伸展方向是由高地址向低地址扩展的
以上都是网上看到的 然后我用c运行
#include<stdio.h>
int main()
{
int a,b;
printf("%d %d",&a,&b);
}
发现只有在debug模式下运行 才和网上说的相符合
debug运行结果:
2686756 2686752
release 模式运行结果就成了:2686752 2686756
这咋么又成了地址往高地址增长了???
我不太懂 ,请大家给我仔细讲解下 是我误解了吗?谢谢了