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()
是一个静态函数,它打印“ Inside the static function staticFunc()
”。该main()
函数调用staticFunc()
。该程序可以正常工作,因为只能从其自己的目标文件中调用静态函数。