16.C基础_内存管理

内存分区

1、整体框图

内存分为代码区、全局区、栈区、堆区。代码区和全局区在代码编译完之后就已经确定,栈区和堆区是在程序运行时进行开辟和释放的。整体内存分区框图如下:

对于一个进程,它一共有4G的空间,其中0~3G为上述的4个区(用户空间)、3G~4G为内核空间。

2、各区的含义 

2.1 代码区

代码区存放的是函数体的二进制代码,由操作系统进行管理,具有共享、只读的特征。

即:存放的是我们自己写的代码通过编译后生成的cpu执行的机器指令

2.2 全局区

全局区又叫全局静态区,存放的是全局变量、静态变量(static)、常量(const)

全局区的生命周期直到程序结束,这代表全局区的数据会一直占用空间,也代表变量随时可以访问

全局区中又分为三个区,从低地址到高地址分别为文字常量区、初始化数据区、未初始化数据区。

其中:未初始化区是指 " 没有初始化 " 或 " 以0为初始值 "的情况。具体的框图如下:

2.3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值