C/C++教程

c++内存分区模型

本文主要是介绍c++内存分区模型,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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

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

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

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

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

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

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

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

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

 

这篇关于c++内存分区模型的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!