《字符指针的使用》doc版.doc_第1页
《字符指针的使用》doc版.doc_第2页
《字符指针的使用》doc版.doc_第3页
《字符指针的使用》doc版.doc_第4页
《字符指针的使用》doc版.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第24次复习字符指针的使用正课8.8指向函数的指针一、函数的指针及指向函数的指针变量 1、函数指针的概念 一个函数在编译时被分配一个入口地址,这个入口地址称为函数的指针。 2、指向函数的指针变量定义的一般形式: 数据类型标识符 (*指针变量名) ()例1 求a和b中的大者。(已经会的)main() int max(); int a,b,c; char *format=a=%d,b=%d,max=%d; scanf(%d,%d,&a,&b); c=max(a,b); printf(format,a,b,c); printf(n); max(x,y) int x,y; int z; return(z=xy?x:y); 二、用指向函数的指针变量作函数的参数1、方法:传递的是函数的入口地址,2、一般的使用形式: : sub( f1, f2); /* 主调函数/* : sub(x1, x2) int (*x1)( ), (*x2)( ); int a,b,i,j; : /* 次主调函数*/ a=(*x1)(i); /*x1、x2为被调函数*/ b=(*x2)(i,j); : 3、说明:(1)一般在嵌套调用中使用,传递的是函数的入口地址;(2)次主调函数对其它函数操作,完成一定的功能;(3)主调函数的参数(实参)用函数名。4、例2 设一个函数process,在调用它时,每次实现不同的功能,调用三次,分别求出a、b中较大者、较小者和二者之和。 main() int max(),min(),add(); int a,b; printf(Enter a and b:); scanf(%d,%d,&a,&b); printf(max=); process(a,b,max); printf(min=); process(a,b,min); printf(sum=); process(a,b,add); printf(n); max(x,y) int x,y; int z; return(z=xy?x:y); min(x,y) int x,y; int z; return(z=xy?x:y); add(x,y) int x,y; int z; z=x+y; return(z); process(x,y,fun) int x,y; int (*fun)(); int result; result=(*fun)(x,y); printf(%dn,result); _89 指针示例 定义一个子函数,把数字字符串转化成整数如“124”转化为124 int strtoint (char s ) int I,n,sign; for(I=0;si=”;I+) sign=(si=”-”)? 1:1;if(sign=(si=+| si=-)I+;For(n=0;0si & si=9;I+)N=10*n_(si-0)Return sign*n;总结

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论