static分析:
1. 静态全局变量,从定义的位置到文件结束有效,同一文件使用时要加extern,其他文件中无法使用;
2. 静态局部变量,只在函数部分有效,且每次调用函数时都保持上次调用过的值。
#include <stdio.h>
static int j = 0 ;
void Fun1()
{
static int i = 0 ;
printf("%d", i++) ;
}
void Fun2()
{
j = 0;
printf("%d", j++) ;
}
void main()
{
int k;
for(k=0; k<10; k++)
{
Fun1() ;
printf(" ") ;
Fun2() ;
printf("/n") ;
}
}
代码为前面理论的验证,结果如下:
0 0
1 0
2 0
3 0
4 0
5 0
6 0
7 0
8 0
9 0