C语言程序设计-谭浩强-第10章指针.ppt

C语言程序设计-谭浩强-第10章指针.ppt

ID:51991967

大小:561.50 KB

页数:31页

时间:2020-03-27

C语言程序设计-谭浩强-第10章指针.ppt_第1页
C语言程序设计-谭浩强-第10章指针.ppt_第2页
C语言程序设计-谭浩强-第10章指针.ppt_第3页
C语言程序设计-谭浩强-第10章指针.ppt_第4页
C语言程序设计-谭浩强-第10章指针.ppt_第5页
资源描述:

《C语言程序设计-谭浩强-第10章指针.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、8.5函数的指针和指向函数的指针变量函数指针:函数在编译时被分配的入口地址,用函数名表示max…...指令1指令2函数指针变量赋值:如p=max;函数返回值的数据类型专门存放函数入口地址可指向返回值类型相同的不同函数指向函数的指针变量定义形式:数据类型(*指针变量名)();如int(*p)();函数指针变量指向的函数必须有函数说明函数调用形式:c=max(a,b);c=(*p)(a,b);c=p(a,b);对函数指针变量pn,p++,p--无意义()不能省int(*p)()与int*p()不同1共31

2、张例用函数指针变量调用函数,比较两个数大小main(){intmax(int,int);inta,b,c;scanf("%d,%d",&a,&b);c=max(a,b);printf("a=%d,b=%d,max=%d",a,b,c);}intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}main(){intmax(int,int),(*p)();inta,b,c;p=max;scanf("%d,%d",&a,&b);c=(*p)(a,b);prin

3、tf("a=%d,b=%d,max=%d",a,b,c);}intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}2共31张用函数指针变量作函数参数例用函数指针变量作参数,求最大值、最小值和两数之和voidmain(){inta,b,max(int,int),min(int,int),add(int,int);voidprocess(int,int,int(*fun)());scanf("%d,%d",&a,&b);process(a,b,max);p

4、rocess(a,b,min);process(a,b,add);}voidprocess(intx,inty,int(*fun)()){intresult;result=(*fun)(x,y);printf("%d",result);}max(intx,inty){printf(“max=”);return(x>y?x:y);}min(intx,inty){printf(“min=”);return(x

5、;}3共31张8.6返回指针值的函数函数定义形式:类型标识符*函数名(参数表);例int*f(intx,inty)例指针函数实现:有若干学生成绩,要求输入学生序号后,能输出其全部成绩main(){floatscore[][4]={{60,70,80,90},{56,89,67,88},{34,78,90,66}};float*search(float(*pointer)[4],intn),*p;inti,m;printf("Enterthenumberofstudent:");scanf("%d",&m);

6、printf("ThescoresofNo.%dare:",m);p=search(score,m);for(i=0;i<4;i++)printf("%5.2ft",*(p+i));}float*search(float(*pointer)[4],intn){float*pt;pt=*(pointer+n);return(pt);}pointerpointer+1347890665689678860708090score数组pppp4共31张例写一个函数,求两个int型变量中居于较大值的变量的地址in

7、t*f1(int*x,int*y){if(*x>*y)returnx;elsereturny;}main(){inta=2,b=3;int*p;p=f1(&a,&b);printf("%d",*p);}…...20002010201420042008200C23指针变量y指针变量x(f1)20042000COPY变量a变量b(main)指针变量p**5共31张例写一个函数,求两个int型变量中居于较大值的变量的地址…...…...20002010201420042008200C2变量a变量b(main)

8、3指针变量p**2004int*f3(int*x,int*y){if(*x>*y)returnx;elsereturny;}main(){inta=2,b=3;int*p;p=f1(&a,&b);printf("%d",*p);}6共31张例写一个函数,求两个int型变量中居于较大值的变量的地址int*f3(intx,inty){if(x>y)return&x;elsereturn&y;}main(){int

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。