可以通过两段代码来理解static的记忆性
for example
int test()
{
int a=0;
a++;
return a;
}
每次运行此段代码,得到的返回值都为1。
作为对比,
假设代码写成这样
int test()
{
static int a=0;
a++;
return a;
}
则第一次运行此代码,返回值为1,
第二次运行此代码,返回值为2,
第三次运行此代码,返回值为3,
…
第n次运行此代码,返回值为n。
此为static的记忆性,
而其本质为,static变量只声明一次(即static int a=0;语句只在第一次运行此代码时被执行),且static变量的生命周期与程序相同。