关于C语言stati c定义函数类型的具体解释
分类 C语言知识201 1-08-171 1 :34231人阅读评论(0)收藏举报内部函数和外部函数
函数一旦定义后就可被其它函数调用。 但当一个源程序由多个源文件组成时 在一个源文件中定义的函数能否被其它源文件中的函数调用呢?为此 语言又把函数分为两类
一、 内部函数stati c
如果在一个源文件中定义的函数只能被本文件中的函数调用而不能被同一源程序其它文件中的函数调用 这种函数称为内部函
数。定义内部函数的一般形式是 static 类型说明符 函数名(形参表) 例如static int f(int a, int b) 内部函数也称为静态函数。但此处静态static 的含义已不是指存储方式而是指对函数的调用范围只局限于本文件。 因此在不同的源文件中定义同名的静态函数不会引起混淆。
二、外部函数
外部函数在整个源程序中都有效其定义的一般形式为 extern 类型说明符 函数名(形参表) 例如extern int f(int a, int b)
如在函数定义中没有说明extern或static则隐含为extern。
在一个源文件的函数中调用其它源文件中定义的外部函数时应 用extern说明被调函数为外部函数。例如
F1 .C (源文件一)main()
{extern int f1(int i); /*外部函数说明表示f1函
数在其它源文件中*/
……
}
F2.C (源文件二)extern int f1(int i); /*外部函数定义*/
{
……
}
由于函数定义时默认为“exter n” 所以源文件一调用源文件二中定义的函数无论二中定义还是一中声明都可以省略exter n。但是用上e xtern并,使其意思表现更清晰说明此函数定义在别的源文件中。而头文件的作用之一就是起到了将众多函数声明综合到一起。
10gbiz怎么样?10gbiz 美国万兆带宽供应商,主打美国直连大带宽,真实硬防。除美国外还提供线路非常优质的香港、日本等数据中心可供选择,全部机房均支持增加独立硬防。洛杉矶特色线路去程三网直连(电信、联通、移动)回程CN2 GIA优化,全天低延迟。中国大陆访问质量优秀,最多可增加至600G硬防。香港七星级网络,去程回程均为电信CN2 GIA+联通+移动,大陆访问相较其他香港GIA线路平均速度更...
RAKsmart 商家八月份的促销活动今天更新。基本上和上个月的产品套餐活动差不多的,不过也是有简单的微调。对于RAKsmart商家还是比较了解的,他们家产品虽然这两年增加多个机房,以及在VPS主机方案上有丰富的机房和调整到一些自营机房,他们家的策划能力还是有限,基本上每个月的套餐活动都差不多。RAKsmart 在八月份看到有新增香港高防服务器可选,最高100GB防御。同时原来上个月缺货的日本独立...
DMIT怎么样?DMIT是一家美国主机商,主要提供KVM VPS、独立服务器等,主要提供香港CN2、洛杉矶CN2 GIA等KVM VPS,稳定性、网络都很不错。支持中文客服,可Paypal、支付宝付款。2020年推出的香港国际线路的KVM VPS,大带宽,适合中转落地使用。现在有永久9折优惠码:July-4-Lite-10OFF,季付及以上还有折扣,非 中国路由优化;AS4134,AS4837 均...