静态变量是使用关键字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; }