静态局部变量:函数中的局部变量的值在函数调用结束后不消失而保留原值;
即其占用的存储单元不释放,在下一次该函数调用时,仍可以继续 使用该变量
用关键字static 声明, static int value1 = 20;
例子:
#include<iostream>
using namespace std;
void function()
{
int a = 0;//动态局部变量
static int b = 0;//静态局部变量
a = a + 1;
b = b + 1;
cout << "a = "<<a<<endl;
cout << "b = "<<b<<endl;
}
int main()
{
for(int i = 0;i < 4;i++)
{
function();//每次调用函数的时候,会对变量a在开辟一片内存空间
} //但是b不会释放掉,所以就会累加;
}
打印出来的结果就是a=1,b=1;a=1,b=2;a=1,b=3;a=1,b=4;
Keine Kommentare:
Kommentar veröffentlichen