内存分区模型
1.C/C++程序在执行时,将内存大方向划分为4个区域
(1)代码**: 存放函数体的二进制代码,有操作系统进行管理的
(2)全局区**: 存放全局变量和静态变量以及常量,由操作系统管理(这里的常量不包括局部常量)
(3)栈区**:由编译器自动分配释放,存放函数的参数值,局部变量等
注意事项:不要返回局部变量的地址,栈区开辟的数据由编译器自动释放。因为编译器自动释放 ,不要去返回局部变量的地址。
(4)堆区:由程序员分配和释放,若程序员结束时由操作系统回收(malloc和new动态申请内存)
2.内存四区建立流程