C++基础之内存四驱

将整个数据区分为四部分:栈区、堆区、常量区、全局及静态存储区

1.栈区:存储函数参数 以及局部变量,数据空间由编译器负责分配和回收。栈默认只有几M的空间,且生长方式向下,向着内存地址减小的方向消耗空间

2.堆区:存储动态分配的内存块,由程序员进行分配和回收,如果程序始终没有主动释放动态分配的内存,在程序运行结束时,操作系统会回收这部分空间。堆有几G的空间大小,生长方式向上,向着内存地址增大的方向消耗存储空间。

3.常量区:用于存放字符串常量,对字符串赋值时,在常量区开辟一部分空间存放字符串常量,返回这块内存的首地址。

如: char *p="abc”;     abc存在常量区,p存在于栈区,p存储的是“abc”的首地址。

4.全局及静态:存储全局变量及静态变量,生命周期在程序运行期间始终存在,在程序结束时操作系统来回收这部分空间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值