
分类
static
函数内部函数和外部函数
当一个源程序由多个源文件组成时,C语言根据函数能否被其它源文件中的函数调用,将函数枣顷分为内部函数和外部函数。
内部函数
(又称静态函数)
如果在一个源文件中定义的函数,只能被本文件中的函数调用,而不能被同一程序其它文件中的函数调用,这种函数称为内部函数。
定搭陪义一个内部函数,只需在函数类型前再加一个“static”关键字即可,如下所示:
static
函数类型
函数名(函数参数表)
{……}
关键字“static”,译成中文就是“静态的”,所以内部函数又称静态函数。但此处“static”的含义不是指存储方式,而是指对函数的作用域仅局限于本文件。
使用内部函数的好处是:不同的人编写不同的函数时,不用担心自己定义的函数,是否会与其它文件中的函数同名,因为同名也没有关系。
外部函数
外部函数的定义:在定义函数时,如果没有加关键字“static”,或冠以关键字“extern”,表示此函数是外部函数:
[extern]
函数类型
函数名(函数参数表)
{……}
调用外部函数时,需要对其进行说明:
[extern]
函数类型
函数名(参数类型表)[,函数名2(参数类型表2)……];
[案例]外部凳枝陆函数应用。
(1)文件mainf.c
main()
{
extern
void
input(…),process(…),output(…)
input(…)
process(…)
output(…)
}
(2)文件subf1.c
……
extern
void
input(……)
/*定义外部函数*/
{……}
(3)文件subf2.c
……
extern
void
process(……)
/*定义外部
函数*/
{……}
(4)文件subf3.c
……
extern
void
output(……)
/*定义外部函数*/
{……}
您好,你的问题,我之前好像也遇到过,以下是我原来的解决思路和方法,希望能帮助到你,若有错误,还望见谅!展开全部static 用来说明静态变量。
1、如果是在函数外面定义的,那么其效悔桐果和全局变量类似,即static说明的变量可以在当前c程序文件中使用。
2、如果是在函数内部定义的,那么这个变量只初始化一次,即使再次调用这个函数,这个static变量也不会再次被初始化,于是,这个变量的取值就会一直保存着,我们再次调用该函数时,仍是保存的上一次函数调用时保存的结果。
扩展资料:
c语言中的static有三个主要作用:
1、隐藏性。当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。
2、static可以保持变量内容的持久,当static定义变量在函数内部时,改变量值的生命周期和全局变量相同。非码芦常感谢您的耐心观看,如有帮助请采纳,祝迟前带生活愉快!谢谢!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)