牛骨文教育服务平台(让学习变的简单)
博文笔记

C程序在内存中的分区情况

创建时间:2016-05-12 投稿人: 浏览次数:128

当程序被加载到内存前被组织成三部分:

一、代码区

二、静态存储区

三、动态存储区


1) 代码区

这是将要执行程序的机器语言表示(是计算器能识别的二进制表示)

2)静态存储区

这段内存区是程序在编译和连接时分配。

主要存放的变量是:全局变量(global)、静态的变量(static修饰的)。

这段内存区按照是否初始化过 被分为:已初始化的数据和未初始化的数据(即是BSS段,默认为0)

3)动态存储区

这段内存区在程序的调用和执行时分配,主要存放一些动态分配的变量等。

又分为:堆区(heap)和栈区(stack)。

堆区:通过malloc分配的内存区。

栈区:存放的是局部变量和函数的形参等。


常常细分:

     代码区

     全局变量与静态变量区
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。