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

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

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

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

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

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

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

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

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

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

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

#include<stdio.h>

int num = 10;

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

     

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值