static
是一个关键字,它在不同的上下文中有不同的含义。下面介绍在 C 语言中的用法:
在 C 语言中:
-
在全局变量中:
- 在全局变量前加上
static
关键字,将该全局变量的作用域限制在定义它的源文件中,不允许被其他源文件引用。 - 静态全局变量在程序的整个生命周期内存在,但其可见性被限制在定义它的源文件
- 在全局变量前加上
// 在源文件A.c中
static int globalVariable; // 静态全局变量,只在A.c中可见
// 在源文件B.c中无法直接访问 globalVariable
2.在函数中:
- 在函数中使用
static
关键字,将该函数的作用域限制在定义它的源文件中,不允许被其他源文件调用。 - 在函数中使用
static
还可以表示函数中的局部变量在函数调用结束后不会被销毁,而保留其值。
// 在源文件A.c中
static void myFunction() {
// ...
}
// 在源文件B.c中无法直接调用 myFunction
总的来说,static
的作用主要是控制变量或函数的作用域和生命周期。