c 中的 static 关键字用于声明变量或函数的生命周期和可见性。声明变量的 static:在函数外部具有静态存储持续时间,这意味着变量在程序运行期间生存。声明函数的 static:在声明它的源文件中具有文件作用域,即只在该文件中可见。
C 中的 static 关键字
static 关键字在 C 语言中用于声明变量或函数的生命周期和可见性。
声明变量的 static
对于变量,static 用于声明该变量在函数外部具有静态存储持续时间。这意味着该变量在程序运行期间生存,直到程序终止。这与自动存储持续时间变量相反,后者仅在声明函数的块或作用域中生存。
以下是使用 static 声明变量的示例:
static int global_variable; // 在程序中具有静态存储持续时间
声明函数的 static
对于函数,static 用于声明该函数在声明它的源文件中具有文件作用域。这意味着该函数只在该文件中可见,而外部文件无法访问。
以下是使用 static 声明函数的示例:
static void local_function(); // 仅在该文件中可见
static 的其他优点
使用 static 还有其他优点:
- 存储持久性:static 变量保持其值,即使在函数调用或块结束后也是如此。
- 只读:对于常量,static 关键字可以指示编译器对变量进行优化,因为它永远不会更改。
- 提高效率:由于 static 函数只在声明它的文件中可见,因此可以节省函数调用开销。