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