#include<stdio.h>
void fun(){
static int a=1;//声明静态变量
extern int b;
static int c=1234;
a++;
printf("%d\n",a);
printf("%d\n",b);
}
int b=1234;
int main(){
for(int i=1;i<=3;++i) fun();//多次调用fun,因为里面使用static所以内存没有被释放所以说a不会变为1
return 0;
}
如果一个工程中有多个源文件,可以用extern扩展声明另外一个文件中的变量,但是如果另外一个文件中的变量被加上了static那么就不能被外部扩展了!