存储空间的分布

守給你的承諾、 提交于 2020-03-03 01:49:23
  1. 存储空间的分布
    程序的空间分布通常分为(地址从下到上):
  2. 代码段
  3. 初始化数据段
  4. 未初始化数据段

分布如下图所示:(图片来自:C语言内存空间分布详解)

这里写图片描述

堆地址是从下到上增长,栈地址从上到下增长。

一个例题:判断a,b,c,d的存储空间?

int a=0;
class someClass{
int b;
static int c;
};
int main(){
int d=0;
someClass *p=new someClass();
return 0;
}
1
2
3
4
5
6
7
8
9
10
解析:
变量a 全局变量 存放在全局变量区
变量b 类的成员变量 由类的定义决定 在main函数中类A动态分配 因此b在堆区,这里一定要注意,b的存储区域的变化
变量c 静态成员 静态存储区
变量d 局部变量 栈区

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!