网站大量收购独家精品文档,联系QQ:2885784924

C语言程序设计(第三版)课件:指针.pptVIP

C语言程序设计(第三版)课件:指针.ppt

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共73页,可阅读全部内容。
  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文档。上传文档
查看更多

8.1.3任务实施

查找最高分指针访问函数:程序代码如下:01020304050607080910111213141516171819voidSearchMax(float*pscore,intstusize)//查找最高分指针访问函数{floatmax=*pscore;inti,flag;system(cls);for(i=1;istusize;i++){ if(max*(pscore+i)) { max=*(pscore+i); flag=i; }}gotoxy(20,5);printf(成绩最高的是:%.1f\n,*(pscore+flag));gotoxy(20,10);printf(查找最高分成功,按任意键返回上级菜单!);getch();}代码贴士查找最高分指针访问函数8.1.3任务实施

查找不合格学生成绩指针访问函数:程序代码如下:01020304050607080910111213141516171819voidNotElig(float*pscore,intstusize)//查找不合格学生成绩指针访问函数{inti,flag=0;system(cls);gotoxy(20,5);printf(不合格成绩:);for(i=0;istusize;i++){if(*(pscore+i)60){ printf(%6.1f,*(pscore+i)); flag=1; }}if(!flag){gotoxy(35,5); printf(没有不合格成绩!);}8.1.3任务实施

2021222324gotoxy(20,10);printf(查找不合格成绩成功,按任意键返回上级菜单!);getch(); }代码贴士查找不合格学生成绩指针访问函数8.1.4知识扩展

一维数组元素的指针访问方式:一维数组的数组名实际上就是指向该数组的第一个单元的指针。一个一维数组若定义为:inta[10];则数组名a的类型是int*(数组名代表数组的首地址,因此是指针类型),并且指向第一个元素;因此*a和a[0]访问的是同一个元素,两种表达形式完全等价,这种地址表达形式不仅可以访问第一个元素,结合算术运算还可以访问数组的其他元素。例如:*(a+1)等价于a[1];*(a+2)等价于a[2];……*(a+i)等价于a[i]。因此,访问数组元素的操作可以采用三种方法,一种叫下标法,一种叫地址法,还有一种叫指针法。采用指针法比采用地址法更为简洁,执行效率也更高。指向一维数组第一个元素的指针都可以像一维数组名那样使用,例如:inta[10],*pa=a;*(pa+1)等价于a[1];*(pa+2)等价于a[2];……*(pa+i)等价于a[i]。8.1.4知识扩展

下标法与地址法、下标法与指针法的对应关系如图8-9所示。图8-98.1.4知识扩展

三种访问方式在形式上遵守下面的等价关系如图8-10所示:a[i]*(a+i)特别是当i等于0时:a[0]*(a+0)*aa[i]*(pa+i)特别是当i等于0时:a[0]*(pa+0)*pa或图8-10如:inta[5]={7,9,4,3,8};int*pa=a;printf(“%d”,a[0]);printf(“%d\n”,a[2]);printf(“%d”*a);printf(“%d\n”,*(a+2));printf(“%d”,*pa);printf(“%d\n”,*(pa+2));执行结果:7474748.1.4知识扩展

指针变量还可以用自增或自减运算来改变指针所指向的位置,达到移动指针的目的如图8-11所示。printf(“%d”,*(pa++));printf(“%d”,*(++

文档评论(0)

ning2021 + 关注
实名认证
文档贡献者

中医资格证持证人

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

领域认证该用户于2023年05月10日上传了中医资格证

1亿VIP精品文档

相关文档