嵌入式Linux C语言程序设计基础教程 教学课件 作者 华清远见嵌入式学院 冯利美 冯建 第8章 函数.pptVIP

嵌入式Linux C语言程序设计基础教程 教学课件 作者 华清远见嵌入式学院 冯利美 冯建 第8章 函数.ppt

  1. 1、本文档共42页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
函数指针 其中 数据类型是函数指针所指向的函数的返回值类型; 函数指针名称符合标识符命名规则 参数说明列表应该与函数指针所指向的函数的形参说明保持一致; (*函数指针名称)中,*说明为指针()不可缺省,表明为函数的指针。 函数指针 #include stdio.h int test(int a, int b, int (*pFunt)(int m,int n)); int Plus(int a,int b); //函数说明 int Minus(int , int ); //函数说明,缺省形式参数名称 int main(void) { int x=5, y=8; int (* pFunc)(int a, int b); //说明一个名称为pFunc的函数指针 pFunc=Plus; //把函数Plus的地址赋给函数指针pFunc; printf(“%d\n”, (*pFunc)(x,y) ); pFunc=Minus; //把函数Minus的地址赋给函数指针 pFunc; printf(“%d\n”, (*pFunc)(x,y) ); printf(“%d\n”, test(15,5,Plus) ); //把函数Plus作为实参调用test printf(“%d\n”, test(15,5,Minus) );//把函数Minus作为实参调用test } int Plus(int a,int b) //简单的加法函数 { return (a+b); } int Minus(int a,int b) //简单的减法函数 { return (a-b); } int test(int a,int b, int (*pFunt)(int m,int n)) //简单的测试函数指针的函数 { return ( (*pFunt)(a,b)); } 函数指针 函数指针 函数指针数组 函数指针数组是一个保存若干个函数名的数组。 一般形式如下: 数据类型 ( * 函数指针数组名称 [大小] ) ( 参数说明列表 ); 其中,大小是指函数指针数组元数的个数,其它同函数指针。 函数指针 函数指针数组应用的一个例子。 #include stdio.h int Plus(int a, int b); //计算加法函数的说明 int Minus(int a, int b); //计算减法函数的说明 void main(void) { int (*pFunc[2])(int a,int b); int i; pFunc[0] = Plus; pFunc[1] = Minus; 函数指针 for( i=0; i2; i++){ printf(“%d\n”, (* pFunc[i])(15,85) ); } int Plus(int a, int b){ return(a+b); } int Minus(int a, int b){ return(a-b); } 递归函数 所谓递归函数是指一个函数的函数体中直接调用或间接调用了该函数自身的函数。这里的直接调用是指一个函数的函数体中含有调用自身的语句,间接调用是指一个函数在函数体里有调用了其它函数,而其它函数又反过来调用了该函数的情况。 递归函数调用的执行过程分为两个阶段: 递推阶段:从原问题出发,按递归公式递推从未知到已知,最终达到递归终止条件。 回归阶段:按递归终止条件求出结果,逆向逐步代入递归公式,回归到原问题求解。 递归函数 例: #include stdio.h double Factorial(int n); //递归函数说明 int main(void) { double r=Factorial(5); //调用函数Factorial并将返回值 赋给r printf(“5!=%f\n”,r); return 0; } double Factorial(int n) //定义求n!函数,要求n大于等于零 { if(n=1) return (1); //递归函数终止条件 return ( n*Factorial(n-1) ); // Factorial函数的函数体中调用了Factorial函数 } 运

您可能关注的文档

文档评论(0)

时间加速器 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档