指针作函数参数.ppt

上传人:s****8 文档编号:82765758 上传时间:2023-03-26 格式:PPT 页数:20 大小:275.50KB
返回 下载 相关 举报
指针作函数参数.ppt_第1页
第1页 / 共20页
指针作函数参数.ppt_第2页
第2页 / 共20页
点击查看更多>>
资源描述

《指针作函数参数.ppt》由会员分享,可在线阅读,更多相关《指针作函数参数.ppt(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、指针做函数参数指针做函数参数计算机学院:张彦航计算机学院:张彦航学习目标学习目标熟练掌握指针做函数参数的方法熟练掌握指针做函数参数的方法明确指针与函数的关系明确指针与函数的关系 进一步理解函数参数传递的原理进一步理解函数参数传递的原理每个变量名都与一个唯一的地址相对应,每个变量名都与一个唯一的地址相对应,用于存放特定类型的数据。用于存放特定类型的数据。指针:指针:一个变量的地址称为该变量的指针。一个变量的地址称为该变量的指针。指针不但指示了数据的存储位置,还标明指针不但指示了数据的存储位置,还标明了该数据的类型。了该数据的类型。指针概念回顾:指针概念回顾:指针与地址的区别:指针与地址的区别:s

2、wap(int*p1,int*p2)intp;p=*p1;*p1=*p2;*p2=p;main()inta,b;int*pa,*pb;scanf(“%d,%d”,&a,&b);pa=&a;pb=&b;if(ab)swap(pa,pb);printf(“%d,%dn”,a,b);运行情况:运行情况:5,9 9,5交换指针所指交换指针所指向的变量值向的变量值 作用:作用:将一个变量的将一个变量的地址地址传至另外一个函数中。传至另外一个函数中。变量的指针作函数参数变量的指针作函数参数指针作函数参数指针作函数参数swap(intb)intp;p=b0;b0=b1;b1=p;main()inta2;sc

3、anf(“%d%d”,&a0,&a1);if(a0a1)swap(a);printf(“%d,%dn”,a0,a1);运行情况:运行情况:59 9,5交换形参数组值交换形参数组值数组作函数参数数组作函数参数数组作函数参数数组作函数参数swap(intx,inty)intp;p=x;x=y;y=p;main()inta,b;scanf(“%d,%d”,&a,&b);if(ab)swap(a,b);printf(“%d,%dn”,a,b);交换形参变量值交换形参变量值普通变量作函数参数普通变量作函数参数运行情况:运行情况:5,9 5,9普通变量作函数参数普通变量作函数参数voidvoid Swap

4、(Swap(intint *p1,*p1,intint*p2)*p2)intint *p;*p;p=p1;p=p1;/*p1,p2/*p1,p2为内部变量为内部变量为内部变量为内部变量*/p1=p2;p1=p2;p2=p;p2=p;swap函数的几种错误形式函数的几种错误形式(1/2)指针作函数参数指针作函数参数voidvoid Swap(Swap(intint*p1,*p1,intint *p2)*p2)intint*p;*p;/*/*指针指针指针指针p p未初始化未初始化未初始化未初始化*/*p=*p1;p=*p1;*p1=*p2;*p1=*p2;*p2=*p;*p2=*p;swap函数的

5、几种错误形式函数的几种错误形式(2/2)为什么使用指针做函数参数?为什么使用指针做函数参数?用指针作函数参数,可以返回多个值用指针作函数参数,可以返回多个值 减少参数传递过程中的数据复制量。减少参数传递过程中的数据复制量。用指针作函数参数,通过将数据区的用指针作函数参数,通过将数据区的地址传递给函数,使函数能够改动该地址传递给函数,使函数能够改动该地址处的数据。地址处的数据。用指针作函数参数,可以返回多个值用指针作函数参数,可以返回多个值#includevoidsubfun(int*m,int*n);/*说明子函数说明子函数*/main()inti,j;printf(i,j=?n);scanf

6、(%d,%d,&i,&j);printf(“beforecallingi=%dj=%di*j=%dn”,i,j,i*j);subfun(&i,&j);/*以传送地址的方式以传送地址的方式调用子函数调用子函数*/printf(“aftercallingi=%dj=%di*j=%dn,i,j,i*j);voidsubfun(int*m,int*n)*m=*m+2;*n=*m-*n;指针和函数的关系主要包括指针和函数的关系主要包括:1 1、指针作为函数的参数。、指针作为函数的参数。2 2、函数的返回值可以是指针类型、函数的返回值可以是指针类型3 3、指针可以指向函数。、指针可以指向函数。函数的返回值

7、为指针。函数的返回值为指针。例:去掉参数字符串的尾部空格。例:去掉参数字符串的尾部空格。Char*mytrim(char*s)char*p=s+strlen(s)-1;while(p-s=0&*p!=0)p-;*(p+1)=0;Returns;指向函数的指针指向函数的指针1、定义形式:定义形式:数据类型标识符数据类型标识符(*指针变量名指针变量名)()();2、调用形式:调用形式:(*(*指针变量名指针变量名)()(实参表实参表);main()int(*p)();/*声明指向函数的声明指向函数的指针变量指针变量p*/inta,b,c;p=max;/*指向函数的指向函数的指针变量指针变量p赋初值

8、赋初值*/scanf(“%d,%d”,&a,&b);c=(*p)(a,b);/*函数调用函数调用*/printf(“a=%d,b=%d,max=%d”,a,b,c);intmax(intx,inty)intz;if(xy)z=x;elsez=y;return(z);(1)(1)函数调用可以通过函数名,也可通函数调用可以通过函数名,也可通过函数指针。过函数指针。(2)(2)指针变量可以先后指向不同的函数。指针变量可以先后指向不同的函数。(3)(3)对指向函数的指针变量作运算是无对指向函数的指针变量作运算是无意义的。意义的。几个注意事项几个注意事项n指针做函数参数指针做函数参数n指针与函数的关系指针与函数的关系n函数参数传递的原理函数参数传递的原理本节我们学习了本节我们学习了

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁