程序设计_1211第五章函数.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 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 *); 其中,无论形参是可调数组还是指针,说明形式都可以是指针。

文档评论(0)

zzqky + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档