首页 > 其他 > 详细

变量在栈中实际物理位置

时间:2017-07-30 12:15:36      阅读:257      评论:0      收藏:0      [点我收藏+]

1、存储在栈中的变量的物理位置是从大到小分配内存的,即先分配的变量物理地址比后分配变量的物理地址高。
2、变量名解析后是变量的地址。不是说程序将静态变量的变量名放入栈中,而实际将值存储在常量区。
例:

/////////////////////////////////////////////////////////////////////////////////////////////////////
#include <stdio.h>

void main()
{
int a=2;
char c=‘a‘;
static int s=4;

printf("%d %d %d\n",&a,&c,&s);
}
结果:
2034619708 2034619707 6293668
说明:
因为先申请的a变量,故先将a变量放入栈底,a变量占的地址是从2034619708到2034619712,再接着放入c变量,b变量占的地址是从2034619707到2034619708。最后将s变量放入堆中。

/////////////////////////////////////////////////////////////////////////////////////////////////////

变量在栈中实际物理位置

原文:http://www.cnblogs.com/Mr-Wenyan/p/7258537.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!