内存四区模型

操作系统把C代码分成四个区:

(1)堆区(heap):一般由程序员分配释放(动态内存申请与释放),若程序员不释放,则不会析构。

(2)栈区(stack):程序局部变量。 由编译器自动分配释放,存储函数的参数值,局部变量的值等。程序结束时自动析构。

(3)全局区(静态区static):有常量和全局变量和静态变量的存储室放在一块的,初始化的全局变量和静态变量是在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域,该区域在程序结束后由操作系统释放。

常量区:字符串常量和其他常量的存储位置,程序结束后由操作系统释放。

(4)代码区(code):存放函数体的二进制代码。



流程说明

1、操作系统把物理硬盘代码load到内存

2、操作系统把c代码分成四个区

3、操作系统找到main函数入口执行

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容