### 静态全局变量
被static修饰的全局变量,只能在当前文件中使用.不能在其他文件中使用.此规则对函数也有效.
~~~
test.c文件
static int a = 100;
~~~
~~~
main.c文件
extern static int a; //static关键字报错
~~~
### 静态局部变量
只能被初始化一次,但是可以赋值多次.
~~~
void test() {
static int a = 10;
printf("%d\n", a++);
}
int main(void) {
for (int i = 0; i < 10; ++i) {
test();
}
return EXIT_SUCCESS;
}
~~~
```
10
11
12
13
14
15
16
17
18
19
```