C++程序在执行时,将内存大致分为四个区
代码区:存进函数体的二进制代码,由操作系统管理
全局区:存放全局变量,静态变量,常量
堆区:由程序员分配和释放,若程序员不释放,操作系统自动释放
栈区:由编译器自动分配和释放
内存四区的意义:不同区域,赋予不同的生命周期,使编程更加灵活
程序运行前
在程序编译后,形成了可执行程序,在执行程序前分为两个区
代码区:
![](https://i-blog.csdnimg.cn/blog_migrate/d88295261b059b0f60f5565eed600b1b.png)
全局区:
![](https://i-blog.csdnimg.cn/blog_migrate/4a96ebb44bdf952f1fb51d4856f81634.png)
程序运行后
栈区:
![](https://i-blog.csdnimg.cn/blog_migrate/a560879a8807db0b20d81994fa6c75ba.png)
堆区:
![](https://i-blog.csdnimg.cn/blog_migrate/c8f3555ca98eba347a42b09d90afefd1.png)
new操作符:
![](https://i-blog.csdnimg.cn/blog_migrate/24fc05d806804cdf81329559e22c6e7c.png)
C++程序在执行时,将内存大致分为四个区
代码区:存进函数体的二进制代码,由操作系统管理
全局区:存放全局变量,静态变量,常量
堆区:由程序员分配和释放,若程序员不释放,操作系统自动释放
栈区:由编译器自动分配和释放
内存四区的意义:不同区域,赋予不同的生命周期,使编程更加灵活
在程序编译后,形成了可执行程序,在执行程序前分为两个区
代码区:
全局区:
栈区:
堆区:
new操作符: