理论教育 快速学习C语言程序设计:内外部函数

快速学习C语言程序设计:内外部函数

时间:2023-11-02 理论教育 版权反馈
【摘要】:根据函数能否被其他源程序文件中的函数调用,可以将函数分为两类:内部函数;外部函数。外部函数是C语言默认的函数类型,即在函数首部没有添加“extern”和“static”的函数都是外部函数。当需要限定函数的作用域时,可以使用内部函数。

快速学习C语言程序设计:内外部函数

一个C程序可以包含多个源程序文件,每个文件包含多个函数。函数之间存在着调用关系。根据函数能否被其他源程序文件中的函数调用,可以将函数分为两类:内部函数;外部函数。

1.内部函数

只能被本源程序文件中的函数调用的函数是内部函数,内部函数也称为静态函数,内部函数不能被其他源程序文件中的函数调用。内部函数的定义格式如下:

2.外部函数

可以被程序中的其他源程序文件中的函数调用的函数是外部函数。外部函数的定义格式如下:

如果省略extern,则系统默认为外部函数。外部函数是C语言默认的函数类型,即在函数首部没有添加“extern”和“static”的函数都是外部函数。外部函数可以被其他源程序文件中的函数所调用。(www.daowen.com)

分析下面的程序:

该程序由两个程序文件file1.c和file2.c组成。file2.c中的函数f1是一个内部函数,所以它不能被其他程序文件中的函数调用。file2.c中的函数f2是一个外部函数,可以被其他程序文件中的函数调用。

注意:如果要调用其他程序文件中定义的函数,则必须先对其进行声明。声明格式如下:

存储类型为static类型的函数只能被其所在的源程序文件中的函数调用,其他源程序文件中的函数则不能调用它。如果在其他源程序文件中声明(或调用)已定义为static存储类型的函数,则会发生错误。

当需要限定函数的作用域时,可以使用内部函数。也就是说,可以将函数定义为内部函数,使它只能在本程序文件中使用。在不同的程序文件中,可以定义同名的内部函数,相互不会干扰。这样便于程序编写,即使函数重名也没问题。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈