变量的存储类别小总结

对一个数据的定义,需要指定两种属性:存储类别和数据类型。其中存储类别有以下几种:static(静态变量)auto(自动变量,一般没加存储类别都默认是自动变量,如果int a,就是一个自动变量)register(寄存器变量)extern(外部变量)

我们可以从一下几个角度来区别这些变量:

1、从作用于角度分:局部变量和全局变量

(1)局部变量:

自动变量,即动态局部变量(离开函数,值消失);

静态局部变量(离开函数,值保存);

寄存器变量(离开函数,值消失)—— 跟自动变量的区别就是自动变量存储于内存,而寄存器变量存放于寄存器,读取速度比自动变量快。

(2)全局变量:

静态外部变量(只限本文件引用);

外部变量(允许其他文件引用);


2、从变量存在时间分:动态存储和静态存储

(1)动态存储:

自动变量(本函数内有效);

寄存器变量(本函数内有效);

形式参数(本函数内有效);

(2)静态存储:

静态局部变量(本函数内有效);

静态外部变量(本文件内有效);

外部变量(其他文件可引用);


3、从存放位置上分:

(1)内存中的静态存储区:静态局部变量,静态外部变量,外部变量;

(2)内存中的动态存储区:自动变量和形式参数;

(3)cpu中寄存器:寄存器变量;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值