C语言中static的用法有哪几种
在C语言中,static关键字有以下几种用法:
1. 在全局变量中使用static:当static关键字用于全局变量时,它的作用是限制该变量的作用范围只在当前源文件中。即该变量在其他源文件中是不可见的。
```c
static int count = 0;
```
2. 在函数内部使用static:当static关键字用于函数内部时,它的作用是改变函数的存储种别。静态函数只能在声明它的源文件中可见,其他源文件没法调用该函数。
```c
static void printMessage() {
printf("Hello, World!
");
}
```
3. 在局部变量中使用static:当static关键字用于局部变量时,它的作用是改变变量的生命周期,使得局部变量在函数调用结束后依然保持其值,不会被烧毁。静态局部变量只会被初始化一次,并且在函数退出后依然存在。
```c
void increment() {
static int count = 0;
count++;
printf("Count: %d
", count);
}
```
4. 在函数声明中使用static:当static关键字用于函数声明时,它的作用是限制函数的作用范围只能在当前源文件中调用。其他源文件没法调用该函数。
```c
static void printMessage();
```
需要注意的是,在区分的上下文中,static关键字具有区分的含义和作用。
TOP