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