- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《程序设计》多媒体教程
第十一讲
第五章 函数
5.4 函数的定义和说明
※ 函数的定义和调用的顺序
如果一个函数的定义和调用出现在同一个C语言的源文件中,则该函数定义和函数调用
的位置可以有两种顺序:
先定义,后调用 或者 先调用,后定义(预先说明)
⊙ 先定义,后调用 ⊙ 先调用,后定义(预先说明)
void swap(…) /* 先定义 */ void swap( …); /* 预先说明 */
{ … } void func() /* 主调函数 */
void func() /* 主调函数 */ {
{ …
… swap( …); /* 先调用 */
swap(…); /* 后调用 */ …
… }
} void swap( …) /* 后定义 */
{ … }
如果是在定义之前就调用函数(先调用 ⊙ 先调用,后定义(不加说明)
后定义) ,必须在调用之前对函数作预先说 void func() /* 主调函数 */
明。 {
如果省略了函数的预先说明,成为简单 …
的先调用后定义,是不允许的,将无法通过 swap( …); /* 先调用 */
编译。 …
}
void swap( …) /* 后定义 */
※ 函数说明及其位置 { … }
C语言编译器在编译时总是顺序读取源文件中的各个函数。
凡是读取到一个函数,除了翻译这段函数的代码,还会将函数名存入一个函数表中
(Symbol List)。此后每遇到一个函数调用语句,就到函数表中查找。如果查找不到,将发生
编译错误。
如果先定义后调用的话,可保证在函数表中查到被调函数。如果先调用后定义的话,必
须预先说明,包括说明函数的返回类型、以及各个形参的数量和类型,以便编译器将函数名
存入函数表。
例如,在函数count的定义中,Lp可以是可调数组或者指针:
void count(char Lp[], short *letter, short *symbol, short *blank)
void count(char *Lp, short *letter, short *symbol, short *blank)
但是,预先说明count的格式都应该是:
void count(char *, short *, short *, short *);
其中,无论形参是可调数组还是指针,说明形式都可以是指针。
您可能关注的文档
最近下载
- ASTMA182-2015中文.PDF VIP
- 2025云南玉溪红塔实业有限责任公司员工招聘25人笔试备考试题及答案解析.docx VIP
- 2018湖北省施工机具使用费定额.pdf
- 25公安冲刺110考点 -更新版.pdf VIP
- 第三届全国生态环境监测专业技术人员大比武吉林省赛试题库资料(含答案).pdf
- (正式版)DB23∕T 3711-2024 《市县级矿产资源总体规划编制技术规程》.pdf VIP
- 工业设计审计报告范文.pdf VIP
- 丸红株式会社电子材料介绍.ppt VIP
- 2025年西式面点师(高级)实操技能与理论知识考核试题.docx VIP
- JBL_MS202 迷你桌面音响 说明书.pdf VIP
原创力文档


文档评论(0)