计算机划分的内存区域
| 内存划分区域 | 储存内容 | 管理者 | 申请和释放过程 | 可能因为操作不当导致的BUG | 
|---|---|---|---|---|
| 堆区 heap  | 
动态变量 | 由程序员手动申请与释放的动态内存区域 | 使用Malloc/new free/delete 指令分配和释放  | 
不及时释放可能照成(内存泄漏) (例如递归函数不释放内存)  | 
| 栈区 stack  | 
局部变量 | 由编译器(程序自己决定)内存的分配和释放 | 当函数、执行结束后 程序自行释放  | 
当内存被占满时会照成(内存溢出) | 
| 全局\静态区 global  | 
全局变量、 静态变量 常数  | 
由系统分配和释放的内存区域 | 当程序运行结束后, 由系统释放  | 
|
| 代码区 code  | 
函数体的二进制代码 | 由操作系统分配和释放 | 完全由系统托管 | 
