【摘要】:根据函数能否被其他源程序文件中的函数调用,可以将函数分为两类:内部函数;外部函数。外部函数是C语言默认的函数类型,即在函数首部没有添加“extern”和“static”的函数都是外部函数。当需要限定函数的作用域时,可以使用内部函数。
一个C程序可以包含多个源程序文件,每个文件包含多个函数。函数之间存在着调用关系。根据函数能否被其他源程序文件中的函数调用,可以将函数分为两类:内部函数;外部函数。
1.内部函数
只能被本源程序文件中的函数调用的函数是内部函数,内部函数也称为静态函数,内部函数不能被其他源程序文件中的函数调用。内部函数的定义格式如下:
2.外部函数
可以被程序中的其他源程序文件中的函数调用的函数是外部函数。外部函数的定义格式如下:
如果省略extern,则系统默认为外部函数。外部函数是C语言默认的函数类型,即在函数首部没有添加“extern”和“static”的函数都是外部函数。外部函数可以被其他源程序文件中的函数所调用。(www.daowen.com)
分析下面的程序:
该程序由两个程序文件file1.c和file2.c组成。file2.c中的函数f1是一个内部函数,所以它不能被其他程序文件中的函数调用。file2.c中的函数f2是一个外部函数,可以被其他程序文件中的函数调用。
注意:如果要调用其他程序文件中定义的函数,则必须先对其进行声明。声明格式如下:
存储类型为static类型的函数只能被其所在的源程序文件中的函数调用,其他源程序文件中的函数则不能调用它。如果在其他源程序文件中声明(或调用)已定义为static存储类型的函数,则会发生错误。
当需要限定函数的作用域时,可以使用内部函数。也就是说,可以将函数定义为内部函数,使它只能在本程序文件中使用。在不同的程序文件中,可以定义同名的内部函数,相互不会干扰。这样便于程序编写,即使函数重名也没问题。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
有关C语言程序设计的文章