C 中的静态函数
C 中的静态函数是作用域仅限于对象文件的函数。这意味着静态函数仅在其对象文件中可见。通过在函数名称前放置 static 关键字,可以将函数声明为静态函数。
演示此功能的示例如下 −
有两个文件 first_file.c 和 second_file.c。这些文件的内容如下 −
first_file.c 的内容
static void staticFunc(void) { printf("Inside the static function staticFunc() "); }
second_file.c 的内容
int main() { staticFunc(); return 0; }
现在,如果编译上述代码,则会获得一个错误,即“对 staticFunc() 的未定义引用”。这是因为函数 staticFunc() 是一个静态函数,并且仅在其对象文件中可见。
演示 C 中静态函数的程序如下 −
示例
#include <stdio.h> static void staticFunc(void){ printf("Inside the static function staticFunc() "); } int main() { staticFunc(); return 0; }
输出
上述程序的输出如下 −
Inside the static function staticFunc()
在上述程序中,函数 staticFunc() 是一个静态函数,用于打印“在静态函数 staticFunc() 内部”。main() 函数调用 staticFunc()。此程序可以正确运行,因为静态函数仅从其自身的对象文件中调用。
广告