📜  C++ 变量存储

📅  最后修改于: 2020-10-17 04:58:58             🧑  作者: Mango

C++存储类

存储类用于定义C++程序中变量和/或函数的生存期和可见性。

生存期是指变量保持活动状态的时间段,可见性是指可以访问变量的程序模块。

有五种类型的存储类,可以在C++程序中使用

  • 自动
  • 寄存器
  • 静态的
  • 外部
  • 可变的
Storage Class Keyword Lifetime Visibility Initial Value
Automatic auto Function Block Local Garbage
Register register Function Block Local Garbage
Mutable mutable Class Local Garbage
External extern Whole Program Global Zero
Static static Whole Program Local Zero

Automatic

它是所有局部变量的默认存储类。 auto关键字自动应用于所有局部变量。

{ 
auto int y;
float y = 3.45;
}

上面的示例定义了两个具有相同存储类的变量,auto只能在函数内使用。

寄存器

寄存器变量比RAM分配寄存器中的内存。其大小与寄存器大小相同。它具有比其他变量更快的访问权限。

建议仅将寄存器变量用于快速访问,例如在计数器中。

注意:我们无法获取寄存器变量的地址。

register int counter=0;  

静态存储类

静态变量仅初始化一次,并且一直存在到程序结束。它在多个函数调用之间保留其值。

静态变量的默认值为0,由编译器提供。

#include 
using namespace std;
void func() {  
   static int i=0; //static variable  
   int j=0; //local variable  
   i++;  
   j++;  
   cout<<"i=" << i<<" and j=" <

输出:

i= 1 and j= 1
i= 2 and j= 1
i= 3 and j= 1

外部存储类别

extern变量对所有程序都是可见的。如果两个或多个文件共享相同的变量或函数,则使用它。

extern int counter=0;