static
static 修饰变量,包括局部变量,全局变量。
1.修饰全局变量,在变量前加一个static。
特点:
这个变量在全局数据区分配内存。如果不显式初始化,那么就隐式初始化为0。
2.static修饰局部变量。
有时希望函数中局部变量的值在函数调用结束后不消失而继续保留原值,也就是他占用的存储单元不释放,在下一次在调用该函数时,该变量就是上一次函数调用结束时的值。这时就指定一个该局部变量为“静态局部变量”,用关键字static修饰。
看一个例子
void fun(x);
void fun(int x){
static int a = 0;//不在栈区,在数据区。
static int b = x; //c99标准怎样标记 c11标准
++a;
++b;
printf("%d %d ", a, b);
}
int main(){
for (int i = 10; i > 0; i--){
fun(i);
}
system("pause");
return