结构体的学习
程序的内存模型
内存分区模型
c++程序在执行时,将内存大方向划分为4个区域
代码区:存放函数体的二进制代码。由操作系统进行管理的
- 存放CPU执行的机器指令
- 代码区时共享的,共享的目的是对于频繁被执行的程序,只需要在内存中有一份代码就行
- 代码区是只读的,防止程序被意外修改
-
程序运行前就已经存在代码区
全局区:存放全局变量和静态变量以及常量
存放全局变量和静态变量
全局区还包含了常量区,字符串常量和其他常量存在这里(局部常量除外 )
该区域的数据在程序结束后由系统释放
栈区:由编码器自动分配释放,存放函数的参数值、局部变量等
堆区:由程序员分配和释放,若程序员不是放,程序结束时由操作系统回收
通过new创建开辟内存
不同区域存放的数据,赋予不同的生命周期,给我们更大的灵活编程