内部函数和外部函数
上一节
下一节
内部函数和外部函数
一个C程序可以包含多个函数,这些函数又可分布在多个源程序文件中。函数之间存在着调用关系。根据函数能否被其它源程序文件中的函数调用,可以将函数分为两类:
内部函数和外部函数。
内部函数
只能被本源程序文件中的函数调用的函数是内部函数,内部函数也被称为静态函数,内部函数不能被其它源程序文件中的函数调用。
内部函数的定义格式如下:
static 数据类型 函数名(形式参数表列)
{
说明部分;
语句部分;
}
外部函数
可以被程序中的其它源程序文件中的函数调用的函数是外部函数。外部函数定义格式如下:
[extern] 数据类型 函数名(形式参数表列)
{
说明部分;
语句部分;
}
如果省略extern,则系统默认为外部函数。
外部函数是C语言默认的函数类型,即在函数首部没有添加“extern”和“static”的函数都是外部函数。外部函数可以被其它源程序文件中的函数所调用。
对于存储类型为static类型的函数,只能被其所在的源程序文件中的函数调用,其它源程序文件中的函数则不能调用它。如果在其它源程序文件中声明或调用已定义为static存储类型的函数就会发生错误。
使用内部函数,可以限定函数的作用域,即使在不同的程序文件中使用同名的内部函数,也不会相互干扰。内部函数的这个特点便于不同的用户分别编写不同的函数,而不用考虑重名问题。

