【摘要】:内部函数的作用域局限于定义它的源文件内部。定义一个内部函数,只需在函数定义的首部函数类型前再加一个“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()函数,其内容各不相同,调用时不会混淆。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。