C语言学习笔记——变量的存储类型和作用域

@变量的存储类型

    #自动型(auto)

    #寄存器型(register)

    #外部型(extern)

    #静态型(static)

 

@变量的存储方式

    #静态存储方式

        ##外部型变量(extern)

        ##静态型变量(static)

    #动态存储方式

        ##自动型变量(auto)

        ##寄存器型变量(register)

 

@自动型变量(auto)

    #定义变量时若声明存储类型为auto,则所定义的变量为自动型变量。auto可以省略。定义变量时不特别声明存储类型都为自动变量。

    #格式: static 数据类型 变量表;    

    #例 auto int x; 

 

@静态型变量

    #定义变量时声明存储类型为static,则定义的变量为静态型变量。

    #没有初始化静态变量,系统自动赋值0。

    #静态型变量只有第一次执行定义语句时分配内存,以后每次调用它所在的函数时,不再重新分配内存,不再重新赋值。只是保留上次调用结束的值。

    #格式:static 数据类型 变量表;

    #例:static int x;

 

@寄存器变量(C语言将频繁使用的局部变量的值存储到CPU的通用寄存器)

    #只有局部变量才能定义寄存器型变量,全局变量不行。

    #对于占用字节数较多的变量,long、float、double一般不能定义为寄存器变量

    #寄存器型变量随系统而异,例如微机上的MSC和TC将寄存器型变量实际当作自动变量处理

    #因为CPU通用寄存器数据有限,所以寄存器变量也是有限制,不能无限定义寄存器变量

    #格式:register 数据类型 变量表;

    #例:register int x;

 

@外部变量

    #外部变量是用于多个编译单元之间传递数据,

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值