静态变量是使用关键字static声明的变量。静态变量的空间仅分配一次,该空间用于整个程序。
声明此变量后,该变量将一直存在,直到程序执行为止。因此,静态变量的生存期就是程序的生存期。
演示静态变量的程序如下。
#include <iostream>
using namespace std;
void func() {
static int num = 1;
cout <<"Value of num: "<< num <<"\n";
num++;
}
int main() {
func();
func();
func();
return 0;
}输出结果
上面程序的输出如下。
Value of num: 1 Value of num: 2 Value of num: 3
现在,让我们了解以上程序。
在函数中func(),num是仅初始化一次的静态变量。然后显示num的值,并将num加1。为此的代码片段如下-
void func() {
static int num = 1;
cout <<"Value of num: "<< num <<"\n";
num++;
}在函数中main(),该函数func()被调用3次。值num仅分配一次,而不是在每个函数调用中分配。给出的代码片段如下。
int main() {
func();
func();
func();
return 0;
}