Skip to content

Latest commit

 

History

History
9 lines (8 loc) · 948 Bytes

C\C++内存四区.md

File metadata and controls

9 lines (8 loc) · 948 Bytes

C\C++内存四区:代码区、全局数据区、堆区、栈区 好文章

代码区:用于存放所有写好的代码和CPU执行的机器指令。该区域是只读和共享的,程序结束时释放。 全局数据区:包括全局变量,静态变量,全局常量和字符串常量等,程序结束时释放。 e.g. 全局位置处, int a = 10; static int a = 10; const int a = 10; char *p = "abs"; 栈区:内存比较小,由编译器自动分配和释放内存。主要存放函数参数值、函数返回值和局部变量、局部常量等。由程序实时加载和释放。 e.g. 局部位置处, int a = 10; const int a = 10; int buf[100]; 堆区:内存比较大,由程序员自己申请和释放内存,用于动态内存分配,主要由new 和 malloc来获取,若程序员不释放内存,会造成内存泄漏,在程序结束时由操作系统自动回收。