C语言学习笔记:内存的五大分区

在C语言中,进程可在内存中分别存入五大分区:

1、text:也称为代码段,其中主要用于存放二进制指令、常量、被const修饰过的初始化过的全                      局变量、静态局部变量;该分区为只读权限,若强制修改将会产生段错误。

2、data:也称为数据段,其中主要用于存放初始化过的全局变量、静态局部变量。

3、bss:也称为静态数据段,主要用于存放未初始化过的全局变量、静态局部变量 。

                Ps:该段内存在进程运行前自动清理为0

4、heap:也称为堆,该段主要由程序员手动管理,其存储空间足够大,但使用过程相对复杂。

5、stack:也称为栈,主要用于存放局部变量、块变量,由系统自动申请、释放内存,存储空间                      相对较小,但使用过程更

以上提到了一些变量,下面引入变量的分类:

        变量在分类时,主要按照存储位置、生命周期以及作用范围三个方面进行区分。

        1、全局变量:即定义在函数外的变量,存储于数据段及静态数据段(data\bss);其生命周期由程序开始维持到程序结束;在整个程序任意位置均可调用。如下图定义,num定义于主函数main()之外,则num为一个全局变量。

#include

int num = 10;

int main()
{
    printf("%d",num);
}

     

你可能感兴趣的:(C语言学习笔记,c语言,开发语言)