l static局部变量的作用域也是在定义的函数内有效 l static局部变量的生命周期和程序运行周期一样,同时staitc局部变量的值只初始化一次,但可以赋值多次 l static局部变量若未赋以初值,则由系统自动赋值:数值型变量自动赋初值0,字符型变量赋空字符
#include <stdio.h>
void fun1() { int i = 0; i++; printf("i = %d\n", i); }
void fun2() { //静态局部变量,没有赋值,系统赋值为0,而且只会初始化一次 static int a; a++; printf("a = %d\n", a); }
int main(void) { fun1(); fun1(); fun2(); fun2();
return 0; }
|