C语言中的静态函数

先决条件: C语言中的静态变量

null

在C语言中,函数默认为全局函数。” 静止的 “函数名前的关键字使其成为静态。例如,下面的函数 乐趣 它是静态的。

static int fun( void )
{
printf ( "I am a static function " );
}


与C中的全局函数不同,对静态函数的访问仅限于声明它们的文件。因此,当我们想要限制对函数的访问时,我们将它们设置为静态。使函数成为静态函数的另一个原因是在其他文件中重用相同的函数名。

例如,如果我们将以下程序存储在一个文件中 文件1。C

/* Inside file1.c */
static void fun1( void )
{
puts ( "fun1 called" );
}


并将以下程序存储在另一个文件中 文件2。C

/* Inside file2.c  */
int main( void )
{
fun1();
getchar ();
return 0;
}


现在,如果我们用命令编译上面的代码“ gcc文件2。c文件1。C “,我们得到了错误 “对` fun1’的未定义引用” .这是因为 fun1() 宣布 静止的 在里面 文件1。C 而且不能用于 文件2。C .

如果您在上述文章中发现任何不正确的地方,或者想分享更多关于C中静态函数的信息,请写评论。

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享