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()。此程序可以正确运行,因为静态函数仅从其自身的对象文件中调用。

更新于:2020 年 6 月 26 日

20K+ 次浏览

开启您的 职业生涯

完成课程即可获得认证

开始学习
广告