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