内存分配形式如下:
1、栈(Stack) : 由编译器自动分配和释放,比如函数参数、局部变量、数组等
2、堆(Heap) : 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收,比如malloc/free、new/delete
3、全局区(静态区):全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域(BSS),程序结束后自动释放
4、文字常量区:常量字符串存储在此,程序执行完自动释放
5、程序代码区:二进制代码