C中的extern和static

#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那么就不能被外部扩展了!

上一篇:canvas实现人物移动动画


下一篇:cpp: extern的作用