翻译
static:静态的
extern:外部的static 对局部变量的作用:
1、延长变量的生命周期,从第一次执行开始知道文件程序退出
2、定义的这一行代码仅仅会执行一次
3、它不会改变局部变量的作用域
extern:放在函数内部,它仅仅是对全局变量的声明
void test(){
{
static int a = 1;
a++;
printf("%d\n",a);
}
//printf("%d\n",a); 不会改变局部变量的作用域 报错
}
void test2(){
extern int a; //不能赋值,只能用来声明全局变量
printf("%d\n",a);
}
int a = 2;
int main(int argc, const char * argv[]) {
test();//2
test();//3
test();//4 延长变量的生命周期,从第一次执行开始知道文件程序退出
test2();//2
return 0;
}