数据在全局变量区(堆)和局部变量区(栈)上存储顺序是增还是减

来源:互联网 发布:easyadmin 创建数据库 编辑:程序博客网 时间:2024/05/05 10:54
#include <stdio.h>int qj1 = 1;int qj2 = 2;int main(){printf("%p %p %s\n",&qj1,&qj2,(&qj2-&qj1>0)?"增加":"减少");char *s1 = "hello";char *s2 = "world";printf("%p %p %s\n",s1,s2,(s2-s1>0)?"增加":"减少");int a = 1;int b = 2;printf("%p %p %s\n",&a,&b,(&b-&a>0)?"增加":"减少");return 0;}

其中qj1,qj2为全局的int型变量,s1,s2为全局的char*型变量(即字符串变量),a,b为局部变量

自己动手试验下,修改下,

结论就是:全局变量(堆上)递增存储,局部变量(栈中)递减存储。感觉就像从中间向两边发散

原创粉丝点击