C语言中变量类型的分析总结

变量按作用范围来分可以分为局部变量全局变量

变量Discription
局部变量在函数内部定义的变量,函数内部的形参。作用范围在函数内部。
全局变量在所有函数的外部的申明,称为全局变量

注意,全局变量不属于某个函数,而是整个源文件。如果外部文件要进行调用(比如两个不同的源文件),需要使用extern进行修饰。

变量按存储类别分为静态存储、动态存储

存储方式Discrioption
静态存储方式在程序运行时分配(存储全局变量)
动态存储方式在程序运行期间根据需要分配(存储局部变量,函数形参,自动变量,函数调用时现场保护)

auto变量  未加存储类型说明的变量称为自动变量,省略了auto.

static变量 1、局部变量的值在函数调用后不消失,但是作用域还是在局部

                 2、某些变量只限于本文引用,而不能被其他文件引用

变量的赋初值问题:1、静态变量不赋初值,系统自动赋予0值。

                                2、自动变量赋初值,其值是不确定的。

静态存储 
静态全局变量可以理解为限制了全局变量的作用范围,当源程序由多个源文件组成时,静态全局变量只在定义的源文件中有效。
非静态全局变量在各个源文件中都有效

register变量

Discription:当反复读写时,需要读写内存,速度,比较慢,为了提高效率而引入了寄存器变量。

 注意:如果需要有效的利用寄存器变量,则需要像汇编语言那样,了解处理器的内部结构。

extern变量

如果源文件函数想要引用其他源文件中的变量,可以用extern来声明外部变量,extern可以扩展变量的作用域。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值