static修饰的变量 只有你的包含那个变量定义的源代码文件可以访问(内部的变量)
extern定义的变量的哪个源文件都可以访问 只要声明了就可以(外部变量)
一. static 对局部变量的作用
1 延长了局部变量的生命周期,从程序启动到程序退出,但它并没有改变变量的作用域。
2 static定义变量的语句只会执行一次。
加static之前
void add(){
int a = 10;
a++;
printf(“a++:%d\n”,a);
}
int main(int argc,const ch[]){
add(); //0
add(); //0
add(); //0
return 0;
}
加static之后
void add(){
int a = 10;
a++;
printf(“a++:%d\n”,a);
}
int main(int argc,const ch[]){
add(); //0
add(); //1
add(); //2
return 0;
}
二. extern 是不能够修饰局部变量的,它用在函数内部声明一个全局变量
|
|