c++内存分区模型

代码区:存放所有代码的二进制

全局区,存放全局变量,静态变量,常量

栈区,编译器自动分配与释放,存放函数参数值和局部变量,随函数结束而释放

堆区,有程序员进行分配与释放,或者函数结束时自动释放

不同区域用于存放那个不同的数据,有不同的生命周期

在程序编写完,编译后,生成exe文件,这时已经出现两个区域,代码区和全局区,代码区存放cpu执行的机器指令,自身是共享的和只读的,全局区存放全局变量,静态变量常量(字符串常量,全局常量)这些,存在于程序运行的所有过程,直到程序结束,栈区和堆区是在程序正式运行时才生成的。

静态变量:static 数据类型 变量名 = 变量值,存在全局区

字符串常量,不是string定义的变量,而是“”直接包围的常量,存在全局区

const 修饰的变量,如果修饰全局变量,存在全局区,如果修饰局部变量,不存在全局区

 

posted @   纸包鱼  阅读(23)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
· Manus的开源复刻OpenManus初探
点击右上角即可分享
微信分享提示