变量的存储类型

存储类型是从变量的存在时间(即生存期)来划分变量。变量的存储类型可分为静态存储方式和动态存储方式。

对于动态存储变量,当程序运行到该变量处时才为其分配存储空间,当程序运行到该变量所在作用域的结束处时自动收回为其分配的存储空间,因此它的生存期为所在作用域。

在程序开始就执行就为其分配存储空间,直到程序结束时,才收回变量的存储空间,这种变量称为静态存储空间,其生命周期为整个程序执行的过程。


C++中,变量的存储类型有自动类型、寄存器类型、静态类型、外部类型等4种。
自动类型(outo):自动类型只能是局部类型的变量。属于动态存储类型。
静态存储变量(static):static,即在程序运行的过程中静态变量始终是占用一个存储空间。静态变量只能在他的作用范围内使用,使用局部静态变量是为了在下次调用该函数时,能使用上次调用后得到的该变量的值。
寄存器类型变量(register):属于动态存储类型,编译器不为寄存器类型的变量分配内存空间,而是直接使用CPU的寄存器。以便提高对这类变量的存取速度。主要用于控制循环次数等不需要长期保存值的变量。

外部类型变量(extern):外部类型变量必须是全局变量,在C++中,有两种情况下需要使用外部类型变量:1,在同一源程序在文件中,当在全局的定义之前使用该变量时,在使用前要对该变量进行外部类型变量声明。2,当程序有多个文件组成时,若在一个源文件中要引用在另一个源文件中定义的全局变量,在引用前必须对所引用的变量进行外部声明。


说明:如果在某文件中定义的全局变量不想被其他文件所调用,则必须将该变量声明为静态全局变量,也就是说,静态全局变量只能供所在的文件使用。

说明: extern只能用来声明已定义的外部变量,而不能用于变量的定义。只要看到extern,就可以判定这是变量声明,而不是定义变量的语句。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值