内存四区
内存四区:
-
堆区(heep):
Malloc/new free/delete,操作系统管理;一般由程序员分配释放(动态内存申请与释放)
若程序员不释放,程序结束时,可能由操作系统收回。
-
栈区(stack):
局部变量、函数参数(包括返回值)
由编译器自动分配释放,存放函数的参数值,局部变量的值等。
-
全局区(静态区):
全局变量(用extern声明)和静态变量(用static声明)
全局和静态的储存是放在一起的,初始化的全局、静态变量是放在一块区域的,未初始化的则在相邻的另一块区域,该区域在程序结束后由操作系统释放。
-
常量区(分成四区的话常量区在全局区里):
-
代码区(code):
操作系统管理。