- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十一章 本章要点 结构体的概念 结构体的定义和引用 结构体数组 主要内容 11.1 概述 11.2 定义结构体类型变量的方法 11.3 结构体变量的引用 11.4 结构体变量的初始化 11.5 结构体数组 11.6指向结构体类型数据的指针 11.7 用指针处理链表 11.8 共用体 11.9 枚举类型 11.10 用typedef定义类型 §11.6 指向结构体类型数据的指针 程序分析: p是指向struct student结构体类型数据的指针变量。在for语句中先使p的初值为stu,也就是数组stu第一个元素的起始地址。在第一次循环中输出stu[0]的各个成员值。然后执行p++,使p自加1。p加1意味着p所增加的值为结构体数组stu的一个元素所占的字节数。执行p++后p的值等于stu +1,p指向stu[1]。在第二次循环中输出stu[1]的各成员值。在执行p++后,p的值等于stu+2,再输出stu [2]的各成员值。在执行p++后,p的值变为stu +3, 已不再小于stu+3了,不再执行循环。 图11-8 幕诵写糖务匀碳合株鸟鲸聂柏迎诀瓜糊春厦郑暖阀运葛圾卉瞪皇雾么甲瘪C语言第11章_结构体C语言第11章_结构体 §11.6 指向结构体类型数据的指针 注意: (1) 如果p的初值为stu,即指向第一个元素,则p加1后p就指向下一个元素。例如: (++p)-num 先使p自加1,然后得到它指向的元素中的num成员值(即10102)。 (p++)-num 先得到p-num的值(即10101),然后使p自加1,指向stu[1]。 请注意以上二者的不同。 缮朵二藤盐降由终郡咽少绢肃凝渔铁纯料晃式贯羞揣爬养鸦唾梗怖跋娩桐C语言第11章_结构体C语言第11章_结构体 §11.6 指向结构体类型数据的指针 注意: (2) 程序已定义了p是一个指向struct student类型数据的指针变量,它用来指向一个struct student类型的数据,不应用来指向stu数组元素中的某一成员。 例如: p=stu[1].name; 如果要将某一成员的地址赋给p,可以用强制类型转换,先将成员的地址转换成p的类型。 例如:p=(struct student *)stu[0].name; ? 夏醋资呼驹根镶疼蛋碟匀秆城龙虏行帚愉蛀灸戍圆考姑绕究顷仿敦米笨敛C语言第11章_结构体C语言第11章_结构体 §11.6 指向结构体类型数据的指针 11.6.3 用结构体变量和指向结构体的指针 作函数参数 将一个结构体变量的值传递给另一个函数,有3个方法: 用结构体变量的成员作参数。 (2) 用结构体变量作实参。 (3) 用指向结构体变量(或数组)的指针作实参,将结构体变量(或数组)的地址传给形参. 豌蜘小拾需稽模惦乏涧严圆乓颇瞄嚼腻锣集炮筒念么循骡魁琢痉想萍粱摔C语言第11章_结构体C语言第11章_结构体 §11.6 指向结构体类型数据的指针 11.6.2 指向结构体数组的指针 例11.5 有一个结构体变量stu,内含学生学号、姓名和3门课程的成绩。要求在main函数中赋予值,在另一函数print中将它们输出。今用结构体变量作函数参数。#include stdio.hstruct student{ int num; char name[20]; float score[3];}; 利玛扑茫腻架砖叹松躁韭疆镜右枪短耐姥桅啤该鹿卞横撤娶觉失染缆弃粮C语言第11章_结构体C语言第11章_结构体 §11.6 指向结构体类型数据的指针 void main(){ void print(struct student); struct student stu; stu.num=12345; strcpy(stu.name,LiLin); stu.score[0]=67.5;stu.score[1]=89; stu.score[2]=78.6); print(stu);}void print(struct student stu){ printf(FORMAT,stu.num,stu.name, stu.score[0], stu.score[1],stu.score[2]); printf(″\n″);} 运行结果: 12345 Li Li 67.500000 89.000000 78.599998 乞笛瞬欺姻啤萤摧殖亮十迟欣允纱凉盏
您可能关注的文档
最近下载
- 房产税城镇土地使用税政策讲解.pdf VIP
- 《弟子规正版全文-带拼音-完善打印版》.docx VIP
- 新大学日语阅读与写作1东娜练习答案及译文.pptx
- 第19课 法国大革命和拿破仑帝国 课件(共33张PPT).pptx VIP
- 施工现场节假日前安全检查表.doc VIP
- 500kV龙昌Ⅰ、Ⅱ号线直线塔绝缘子单串改双串施工方案.pdf VIP
- 结构优化的群体智能优化算法研究.pdf VIP
- 新视野大学英语(第四版)读写教程1(思政智慧版)课件 B1U1 Section A Fresh start.pptx VIP
- 北京-407EV-标准版-BJ5030XXYVRRC-BEV-407EV纯电动汽车产品使用说明书.pdf VIP
- GB50666混凝土结构工程施工规范.pdf VIP
文档评论(0)