C语言程序设计立体化教程(第二版) 课件 6.3指针数组和指针作函数参数 .ppt

C语言程序设计立体化教程(第二版) 课件 6.3指针数组和指针作函数参数 .ppt

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

主讲:廖智蓉项目6指针实现学生综合测评成绩管理指针数组指针数组定义格式:类型标识*数组名[数组长度]功能:指向一维数组的指针变量。说明:适合于指向若干个字符串,使字符串处理更加方便灵活。指针数组中每一个元素都是一个指针变量,并且它们具有相同的数据类型。char*p[4];举例输入一个0至6之间的整数,输出相对应的星期英文单词。#includestdio.hmain(){char*week[7]={Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday};inti;while(1){printf(EnterweekNo:);scanf(%d,i);if(i0||i6)break;printf(WeekNo.%d--%s\n,i,week[i]);}} 练一练#includestdio.hmain(){inti,j;char*s[4]={“continue”,“break”,“do-while”,“point”};for(i=0;i4;i++)printf(%s\n,s[i]+i);}s[0]s[1]s[2]s[3]阅读代码#includestdio.hvoidswap(intx,inty){inttemp;temp=x;x=y;y=temp;}main(){inta,b;scanf(%d%d,a,b);if(ab)swap(a,b);printf(%d,%d\n,a,b);}如何用函数调用的方式实现两个数的调换?请问下列代码能实现吗?形参不能传递给实参!此方法不能实现两个数的调换!指针变量作函数参数#includestdio.hvoidswap(int*x,int*y){inttemp;temp=*x;*x=*y;*y=temp;}main(){inta,b;scanf(%d%d,a,b);if(ab)swap(a,b);printf(%d,%d\n,a,b);}注意:

指针变量作为函数的参数,从实参向形参的数据传递仍然遵循“单向值传递”的原则,只不过此时传递的是地址.xyab46temp464

思考

#includestdio.hvoidswap(int*x,int*y){int*temp;temp=x;x=y;y=temp;}main(){inta,b;scanf(%d%d,a,b);if(ab)swap(a,b);printf(%d,%d\n,a,b);}形参是指针就一定能实现两个数的交换吗?请分析下列代码?注意:

指针变量作为函数的参数,只有交换的内容才能实现实参两个数的交换.xyab46tempxy

举一反三

输入a、b、c3个整数,按从大到小顺序输出。#includestdio.hvoidswap(int*a,int*b){intt;t=*a;*a=*b;*b=t;}voidmain(){inta,b,c,*p1,*p2,*p3;printf(请输入3个数,以逗号隔开:);scanf(%d,%d,%d,a,b,c);p1=a;p2=b;p3=c;if(ab)swap(p1,p2);if(ac)swap(p1,p3);if(bc)swap(p2,p3);printf(从大到小的顺序为:);printf(%d,%d,%d\n,a,b,c);}指向结构体数组的指针*软件技术专业*软件技术专业*软件技术专业*软件技术专业*软件技术专业*软件技术专业*软件技术专业*软件技术专业*软件技术专业*软件技术专业*软件技术专业*软件技术专业*软件技术专业*软件技术专业

文档评论(0)

xiaobao + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档