C与C++的存储区

c++存储区
全局变量与静态变量区、常量区、局部变量区(栈)、动态存储区(堆)、自由存储区

1、全局变量与静态变量区 —》存放全局变量、静态变量,程序运行结束后释放

2、常量区(文本区) —》存放常量

3、局部变量区(栈) —》存放局部变量、函数参数。由编译器控制,自动分配和释放

4、动态存储区(堆) —》malloc/free在堆存储区上申请和释放内存,由人控制

5、自由存储区 —》new/delete/delete [] 在自由存储区(是一种概念抽象,具体取决于底层实现)上申请和释放内存,由人控制

c存储区
1、栈区stack —> 增长方向,自顶向下增长,自动变量、临时变量、以及每次函数调用时所需要保存的信息
2 、堆区heap —》增长方向,自底向上增长,动态存储分配
3、未初始化数据段(bbs区) —》 block started by symbol 在程序中没有初始化的全局变量,内核将此段初始化为0
4、初始化数据段(data区)—》 在程序中所有赋了初值的全局变量(包括静态变量)存放在这里
5、正文段(常量区)—》 CPU执行的机器指令部分,一个程序只有一个副本,只读,防止程序由于意外而修改自身指令

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值