C++变量的存储类型
2018-02-18 16:41
176 查看
参考《C/C++程序员面试宝典》
PS:如果在某文件中定义的变量不想被其他文件所调用,则必须将该变量声明为静态全局变量,也就是说,静态全局变量只能供所在文件中使用。
变量存储类型
存储类型是从变量的存在时间来划分变量,可分为静态存储方式和静态存储方式。对于动态存储变量,当程序运行到该变量处时才为其分配存储空间,当程序运行到该变量所在作用域的结束处时自动收回为其分配的存储空间,因此它的存在时间 == 作用域运行时间。对于静态存储变量,在程序开始时为其分配存储空间,程序结束时才收回存储空间,其存在时间 == 程序运行时间。变量存储类型有以下几种:自动类型变量(auto)
自动类型只能是局部类型的变量,属于动态存储变量。静态类型变量(static)
在程序运行中,静态变量始终占用一个存储空间。静态变量只能在它的作用范围使用,使用局部静态变量是为了在下次调用该函数时,能使用上次调用后得到的该变量的值。寄存器类型变量(register)
属于动态存储类型。编译器不为寄存器类型变量分配内存空间,而是直接用CPU寄存器。以便提高对这类变量的存取速度。主要用于控制循环次数等不需要长期保存的变量。外部类型变量(extern)
外部类型变量必须是全局变量。在C++中,有两种情况需要使用外部类型变量。一种是在同一个源文件中,当在全局的定义之前使用该变量时,在使用前要对该变量进行外部类型变量声明。另一种是当程序由多个文件组成时,若在一个源文件中要引用另一个源文件中定义的全局变量,则在引用前必须对所引用的变量进行外部声明。PS:如果在某文件中定义的变量不想被其他文件所调用,则必须将该变量声明为静态全局变量,也就是说,静态全局变量只能供所在文件中使用。
相关文章推荐
- C++定义中short int long类型的变量分别占用了几个字节的存储空间
- C++变量存储类型与标识符生命期
- c++基础:const,变量的作用域和生存期,存储类型
- C++中变量存储类型
- C++变量存储类型与标识符生命期
- C++所有类型变量存储位置图解
- C++变量的存储类型
- C++变量的存储类型
- C++中各种类型变量的存储位置
- C++变量的存储类型
- C\C++中变量的存储类型
- c++变量的存储类型
- C++学习日记13——递归、内联、函数重载、变量的作用域和存储类型
- C++中各种类型的变量的存储区域和作用域
- C++变量存储类型
- C++中RTTI动态类型识别、静态成员、变量的四种存储方式
- C/C++的变量存储问题
- C/C++中 变量的存储位置
- c++ 如何获得一个变量的类型名称?
- C++特殊数据类型成员变量的初始化