首页 百科知识 内部函数与外部函数

内部函数与外部函数

时间:2022-10-20 百科知识 版权反馈
【摘要】:函数本质上都是全局的,因为一个函数要被另外的函数调用,但是,如果需要也可以指定函数不能被其他源文件中的函数调用。只要在定义函数时,在函数名和函数类型的前面加static,该函数就成为内部函数。这样其他文件中的函数可以预知同名,互不干扰。声明语句的格式为:

7.9.1 内部函数与外部函数

函数本质上都是全局的,因为一个函数要被另外的函数调用,但是,如果需要也可以指定函数不能被其他源文件中的函数调用。根据函数能否被其他源文件调用,将函数区分为内部函数和外部函数。

1.内部函数

如果一个函数只能被本文件中其他函数所调用,它称为内部函数。只要在定义函数时,在函数名和函数类型的前面加static,该函数就成为内部函数。即:

static 类型标识符 函数名(形参表)

内部函数又称静态函数。内部函数只局限于所在文件,其他源文件中的函数可不调用。这样其他文件中的函数可以预知同名,互不干扰。

2.外部函数

可以被其他源文件中的函数调的函数称为外部函数。只要在定义函数时,在函数名和函数类型的前面加extern,该函数就是外部函数。即:

extern 类型标识符 函数名(形参表)

C语言规定,如果在定义函数时省略extern,则隐含为外部函数。

如果某源文件中的函数要调用定义在本文件之外的外部函数,必须在本文件开头用extern对外部函数进行声明。声明语句的格式为:

extern 类型标识符 函数名(形参表);

【例7-22】有一个字符串,今输入一个字符,要求程序将字符串中与该字符相同的字符删除。

分析:为完成题目要求,可定义如下三个子函数,功能分别为:

img328

img329

主函数main只要调用上述三个函数即可。

为了说明外部函数的使用,今将4个函数分别存放于4个文件中。

img330

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

我要反馈