内部函数与外部函数的区分标准是,该函数能否被其他源文件调用。
- 内部函数
如果一个函数只能被本文件中的其他函数调用,称为内部函数。在定义内部函数的时候,在函数名和函数类型的前面加static,即:
static 类型名 函数名(形参列表)
例如函数的首行:static int function(int a)
表示该函数function是一个内部函数,只能被本文件中的函数调用,而不能被其他文件调用。 - 外部函数
与内部函数相反,外部函数则是可以被其他文件调用的函数。在函数声明时,加上extern关键字,则声明为外部函数,可供其他文件调用。
如:函数首部可以是:extern int fun (int a,int b)
C语言规定如果在定义函数时省略extern,则默认为外部函数。所以除非声明为static,我们常写的都是外部函数。