C++知识点:程序的内存模型

C++程序运行时,内存被划分为不同的区域,包括只读的代码区、全局变量存储的全局区、局部变量在栈区以及动态分配的堆区。栈区的内存由编译器自动分配和释放,而堆区则需要程序员使用new和delete手动管理。全局区包含全局变量、静态变量等,局部变量则不存储在此。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

代码区

只读:只可以读取,不可以更改相关的操作

共享:就像main函数调用一个局部函数一样 多次调用 但还是同一份代码

全局区

全局区:全局变量,全局常量 ,全局静态变量,局部静态变量, 局部常量 ,字符串常量

不在全局区:局部变量 ,const修饰的局部变量

c++程序运行前 分为代码区和全局区

栈区

局部函数不能返回地址值,会被释放。栈区开辟的函数参数内存,局部变量由编译器分配释放。

堆区

利用new关键字可以将数据开辟在堆区,由程序员释放,如不释放,由操作系统程序结束后释放。程序员释放用delete关键字。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值