- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
【例9.3】结构指针在程序中的使用。程序如下:structstudent{intnum;charname[20];charsex;intage;}stu[3]={{10001,”LiLin”,’M’,17},{10002,”ZhangFun”,’M’,18},{10003,”WangMin”,’F’,19}};#includestdio.hvoidmain(){structstudent*pstu;printf(”No.namesexage\n”);for(pstu=stu;pstustu+3;pstu++)printf(“%sd%-20s%2c%4d\n”,pstu-num,pstu-name,pstu-sex,pstu-age);}程序运行结果如下:No.namesexage10001LiLinM1710002ZhangFunM1810003WangMinF199.4结构与函数一、结构用作函数的参数新的C标准允许用整个结构作为函数的参数传递,但必须保证实参与形参的类型相同。说明:把一个完整的结构变量作为参数递,虽然合法,但要将全部成员值一个个传递,费时间又费空间,开销大。如果结构类型还有一些成员是数组,则程序运行的效率会大大降化。在这种情况下,用指针作函数参数比较好,能提高运行效率。【例9.4】结构变量stu内含学生学号、姓名和三门课的成绩。要求在main()函数中赋值,在另外一个函数print中将它们打印输出。程序如下:#defineformat”%d\n%s\n%f\n%f\n%f\n”structstudent{intnum;charname[20];floatscore[3];};#includestdio.hvoidmain(){voidprint();structstudentstu;stu.num=10001;strcpy(stu.name,”Funjun”);stu.score[0]=76.8;stu.score[1]=98;stu.score[2]=87.6;print(stu);}voidprint(p)structstudent*p;{printf(format,p-num,p-name,p-score[0],p-score[1],p-score[2]);printf(“\n”);}程序运行结果如下:10001Funjun76.80000099.00000087.59998二、函数返回结构值当函数返回值是结构变量时,该函数称为结构型函数。旧的C标准不允许把结构变量作为函数返回值使用。为建立结构与函数的联系,仍然要通过指针,即函数可以返回指向结构的指针。返回结构指针的函数称为结构指针型函数。新的C标准增加了支持结构变量作为函数返回值的功能。结构型函数定义的一般形式:struct结构名函数名();其中结构名必须在前面已经被定义过。【例9.5】有4个学生,每个学生的数据包括学号、姓名、成绩,要求写一函数找出成绩最高者的姓名和成绩。程序如下:structstudent{intnum;charname[20];intscore;};#includestdio.hvoidmain(){structstudenttmp,fimax();tmp=fimax();printf(”Themaximumscore:\n”);printf(”No.%d\nname:%s\nscore:%d\n”,tmp.num,tmp.name,tmp.score);}structstudentfimax(){structstudentstu[4];inti,j=0,max;for(i=0;i4;i++)scanf(”%d%s%d”,stu[i].num,stu[i].name,stu[i].score);max=s
您可能关注的文档
最近下载
- 四年级数学上册(人教版)周周练(附答案).pdf VIP
- 水利工程软件:MIKE二次开发_(4).MIKE11模块介绍.docx VIP
- UL1557标准中文版-2018半导体UL中文版标准.docx
- 国民经济行业分类 .pdf VIP
- 7-中国石化动土作业安全管理规定(中国石化制〔2022〕14 号).pdf VIP
- 富平县林业发展十五五规划定稿2.docx
- 2023届高考地理二轮复习课件微专题3大气的水平运动——风.pptx VIP
- 领导干部政治理论考试100题及答案.doc VIP
- 人教B版高中数学选择性必修第一册1-1-1空间向量及其运算课件.ppt VIP
- 慢性心力衰竭及药物治疗.pptx VIP
文档评论(0)