首页 理论教育 内部函数作用域及定义方法

内部函数作用域及定义方法

时间:2023-11-23 理论教育 版权反馈
【摘要】:内部函数的作用域局限于定义它的源文件内部。定义一个内部函数,只需在函数定义的首部函数类型前再加一个“static”关键字即可,如下所示:static 类型名 函数名{ 函数体 }关键字“static”译成中文就是“静态的”,所以内部函数又称为静态函数。但此处“static”的含义不是指存储方式,而是指函数的作用域仅局限于本源文件内。本程序由prog.c、prog1.c、prog2.c和prog3.c四个源文件构成,内容如下。

内部函数作用域及定义方法

1.内部函数的概念和定义

如果在一个源文件中定义的函数,只能被本源文件中的函数调用,而不能被同一程序中其他源文件中的函数调用,这种函数称为内部函数。内部函数的作用域局限于定义它的源文件内部。

定义一个内部函数,只需在函数定义的首部函数类型前再加一个“static”关键字即可,如下所示:

static 类型名 函数名(参数定义表)

{ 函数体 }

关键字“static”译成中文就是“静态的”,所以内部函数又称为静态函数。但此处“static”的含义不是指存储方式,而是指函数的作用域仅局限于本源文件内。

使用内部函数的好处是:不同的人编写不同的函数时,不用担心自己定义的函数是否会与其他源文件中的函数同名,因为同名也没有关系。

2.举例

【例6.16】编写程序,实现下列功能:

(1)计算某个范围内自然数的累加和;(www.xing528.com)

(2)计算某个整数的阶乘值;

(3)求任意两个整数的最大公约数。

本程序由prog.c、prog1.c、prog2.c和prog3.c四个源文件构成,内容如下。

文件prog.c的内容:

文件prog1.c的内容:

文件prog2.c的内容:

文件prog3.c的内容:

本例程序中源文件prog1.c、prog2.c、prog3.c中都定义同名的内部函数fun()函数,其内容各不相同,调用时不会混淆。

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

我要反馈