- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十一章 对函数的进一步讨论ppt整理
第十一章 对函数的进一步讨论 11.1 传给main函数的参数 在前面程序中,主函数main( )是不带参数的。实际上,在C语言中,允许main( )带有两个参数: main(int argc, char *argv[ ]) 即一个整型参数(指明参数个数),另一个字符型指针数组(依次存放每个参数对应的字符串)。 注. 主函数形参名习惯上使用argc和argv. 例11.1 ???? 考点归纳???? 11.1 传给main函数的参数???? 在此之前,我们在编写main函数时,其后一对圆括号是空的,没有参数。其实,在支持C的环境中,可以在运行C程序时,通过运行C程序的命令行,把参数传送给C程序。???? 11.2 通过实参向函数传递函数名或指向函数的指针变量???? 1.指向函数的指针变量的定义???? 在C语言中函数名代表该函数的入口地址,因此可以定义一种指向函数地址的指针变量。???? 2.函数名或指向函数的指针变量作为参考???? 函数名或指向函数的指针变量可以作为实参传送给函数。这时,对应的形参是类型相同的指针变量。???? 11.3 函数的递归调用???? C语言中的函数可以递归调用,即:可以直接或间接地自己调用自己。前者称简单递归,后者称间接递归。 * * 函数指针作参数 使用指向函数的指针变量可以实现用函数指针作参数,使得函数名可以在其他函数间传递。 1.函数的指针和指向函数的指针变量 函数名是内存中连续存放指令代码的首地址,也就是该函数的入口地址。因此,函数名就是函数的指针。以函数名为其值的指针变量就是指向函数的指针变量。 11.2 传递函数名或指向函数的指针变量 定义: 类型(*变量名)(形参类形表); 如: int max(int ,int); //函数声明 int (*pp)(int,int); //定义函数指针 pp=max; //用函数指针指向函数 c=pp(3,5); //用函数指针调用函数 //或c=(*pp)(3,5); 2.函数指针作参数 函数指针可以作参数,形参说明的形式为 类型 (*变量名) ( 参数类形表) 例11.2 double tran(double (*f1)(double), double (*f2)(duble), double x) {return (*f1)(x)/(*f2)(x);} //或写作return f1(x)/f2(x); main() {… y=tran(sin, cos, x); … } 递归调用就是直接或间接调用自己,用递归算法。 例如:n!可以写作 n*(n-1)! ,而(n-1)!还是求阶乘。 递归三个条件: 1、终止递归调用的测试 2、递归调用语句 3、先测试,后递归 例11.3 11.3 函数的递归调用 *
文档评论(0)