C语言内存分配情况详解

操作系统将C语言代码分为四个区:

1、栈区

2、堆区

3、全局区

4、程序代码区

其中,

栈区:由编译器自动分配释放,存放函数的参数值,局部变量等

堆区:一般由程序员手动分配释放(动态内存的申请与释放),若未手动释放,程序结束时可能由操作系统回收。

全局区:又称静态区,全局变量和静态变量的存储是放在一块儿的,初始化的全局变量和初始化的静态变量是在一块儿区域,未初始化的全局变革两和未初始化的静态变量在相邻的一块区域,该区域由程序结束后由操作系统释放。

程序代码区:存放函数体的二进制代码。


参考:传智播客扫地僧



你可能感兴趣的:(C语言内存分配情况详解)