问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

什么时候说明函数?

发布网友 发布时间:2022-04-23 20:50

我来回答

1个回答

热心网友 时间:2023-07-02 13:48

只在当前源文件中使用的函数应该说明为内部函数(static),内部函数应该在当前源文件中说明和定义。对于可在当前源文件以外使用的函数,应该在一个头文件中说明,要使用这些函数的源文件要包含这个头文件。例如,如果函数stat_func()只在源文件stat.c中使用,应该这样说明:
/* stat.c */
# include <atdio.h>
atatic int atat_func(int,int); /* atatic declaration of atat-funcO */
void main (void);
viod main (void)
{
......
rc=stat_func(1,2);
......
}
/* definition (body) of stat-funcO */
static int stat-funcdnt argl,int arg2)
{
return rc;
}
在上例中,函数stat_func()只在源文件stat.c中使用,因此它的原型(或说明)在源文件stat.c以外是不可见的,为了避免与其它源文件中可能出现的同名函数发生冲突,应该将其说明为内部函数。
在下例中,函数glob_func()在源文件global.c中定义和使用,并且还要在源文件extern,c中使用,因此应该在一个头文件(本例中为proto.h)中说明,而源文件global.c和extern.c
中都应包含这个头文件。
File: proto.h
/* proto.h */
int glob_func(int,int); /* declaration of the glob-funcO function * /
File: global. c
/* global. c */
# include <stdio.h>
# include "proto. h" /*include this file for the declaration of
glob_func() */
viod main(void);
viod main (void)
{
rc_glob_func(l,2);
}
/* deHnition (body) of the glob-funcO function */
int glob_func(int argl,int arg2)
{
return rc;
}
File extern. c
/* extin.c */
# include <atdio.h>
# include "proto. h" /*include thia file for the declaration of
glob_func() */
void ext_func(void);
void ext_func(void)
{
/* call glob_func(), which ia deHncd in the global, c source file * /
rc=glob_func(10,20);
}
在上例中,在头文件proto.h中说明了函数glob_func(),因此,只要任意一个源文件包含了该头文件,该源文件就包含了对函数glob_func()的说明,这样编译程序就能检查在该源文件中glob_func()函数的参数和返回值是否符合要求。请注意,包含头文件的语句总是出现在源文件中第一条说明函数的语句之前。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
为什么来大姨妈胸会胀 少儿学什么舞蹈 青年学什么舞蹈好 成年人学什么舞蹈 福州企业最低工资标准 2013年厦门的底薪是多少 生产要素的需求有哪些性质 生产要素的需求有何特点? 什么是生产要素需求 微观经济学要素需求什么是条件要素需求?它和要素需求有什么不同?_百度... 统计数字和其他字符的出现的次数的C程序 C语言如何获取文件信息?stat这个函数如何使用? - C / C++ - 生物统计stat是什么 Linux怎么用stat命令显示文件 c语言高手们请问一下-stat这个怎么用行么? linux问题: stat test.log -c &quot;%y&quot; -c &quot;%y&quot; 是什么意思啊 求超级好看的仙魔,妖魔恋小说推荐! linux 的stat 命令 加参数怎么使用 仙魔两界的领袖人物(佛祖,老祖类的) 在Linux中,stat -c %a /ett什么意思 仙魔OL的游戏特色 完美世界的MM仙魔技能对比 问道飞升之后仙魔属性点有什么做用? 问道怎么转换仙魔 问道里仙魔点怎么得? 兄弟情义经典感人句子 兄弟喝酒情义的句子怎么说? 有关感恩兄弟情谊的句子 怎么一句话表达兄弟情义? 哥们情谊的句子 C语言 stat()函数获得文件大小需不需要打开文件?就是stat()函数是怎么获得文件的大小的? C语言 stat()这个函数是怎样实现的? 打开iar弹出&quot;The project“” contains the unknown tools &#39;c-stat&#39; &quot; 编写程序,统计一个文本文件data.txt中数字字符的个数,并输出统计结果 C语言关于获得stat函数的文件信息实例 STAT是什么缩写? perl中stat函数怎么计算文件的大小 梦见等别人还钱,在路上去的碰到了熟人 梦在路上,碰见熟人,顺便坐他的车回家,此梦好不好? 梦见在路上一个熟人拦着要钱才能过? 周公解梦,梦见下雨,骑着电三轮车,走在路上好像碰见熟人,说了几句话,就然后要送我哥,这梦怎么样啊! 在路上遇见熟人帮她拿东西是什么意思 梦见走夜路,借手电筒,后遇到熟人 中国移动广西用户怎么查询话费 梦见我开车在半路遇到熟人要坐车 m.sosuo.name 广西移动卡能不能在外地补卡 广西的中国移动号码个人过户到公司需要提供什么资料? 梦见上山迷路又遇到熟人安全了 广西的移动客户怎么查询或者更改自己宽带密码? 中国移动通信集团广西有限公司集团客户分公司怎么样?