- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十章 结构 目标 理解为什么使用结构 定义结构 声明结构变量 访问结构成员 掌握结构作为函数参数的用法 本章结构 结构简介 定义结构2-1 定义结构2-2 声明结构变量 嵌套结构 结构变量初始化 结构变量赋值 结构体变量的引用 引用规则 结构体变量不能整体引用,只能引用变量成员 结构体变量的初始化 形式一: 使用结构示例 说明: 结构体变量可以象普通变量一样进行各种相应的运算; 可以引用结构体变量成员的地址,也可以引用结构体变量的地址 Eg: struct mm { char a; int b; float c; }; struct mm A, B, C, *p1; char *p2; int *p3; p1=A; p2=A.a; p3=A.b; printf(“%f\n”, (*p1).c ); 注: 括号不能丢,因*优先级低于. 可以用p1-c表示成员 结构指针变量 结构体和指针 指向结构体变量的指针 定义形式:struct 结构体名 *结构体指针名; 例 struct student *p; 指向结构体数组的指针 结构数组 结构的自引用 在一个结构内部包含指向该结构本身的指针(事实上指向的是同一类型的不同结构)。 结构的不完整声明 不同结构相互依赖 解决方案: 声明一个作为结构标签的标识符 用该标识符声明指向该结构的指针 结构体数组 结构体数组的定义 三种形式: 结构体数组初始化 结构指针变量 结构作为函数参数 结构成员作为函数参数 整个结构作为参数 结构指针做为参数 typedef说明 联合 所有成员饮用的是内存中的相同位置。 联合的长度是它最长成员的长度。 联合变量初始化必须是联合的第一个成员类型值 联合练习 总结2-1 结构是由若干数据项组合而成的复杂数据对象,这些数据项称为结构的成员。 定义一个结构,需要给出各个成员的类型及名称。 结构定义仅描述了一个结构的形式。要在程序里使用结构,需要声明结构变量。 访问结构成员的操作要用圆点运算符(.),一般形式为:结构变量名.成员名。 总结2-2 可以通过指向结构的指针访问结构成员,常用形式为:结构指针变量-成员名。 数组元素的类型为结构的数组称为结构数组。 结构作为函数参数有三种不同的方式:结构成员的值传递给函数参数、整个结构作为参数传递、结构指针变量做函数的参数。 Question: 1、下面4个运算符中,优先级最低的是: A. () B. . C. - D. ++ 2、若有结构体如下: struct su { int len; char *str }; 试分析以下几个符号的含义 (1)、 ++p-len (2) 、 *p-str (3) 、 *p-str++ (4) 、 *p++-str Question(cont.): 3、以下代码错误的是: Question(cont.) 3、C语言结构类型变量在程序执行期间: A. 所有成员一直驻留在内存中 B. 只有一个成员驻留在内存中 C. 部分成员驻留在内存中 D. 没有成员驻留在内存中 5、 能表示字母M的语句是: struct person { char name[9]; int age; }; struct person per[10]= {john,17,paul,19,Mary,18,adam,16}; A. per[3].name B. per[3].name [1] C. per[2].name[1] D. per[2].name[0] Question(cont.) 6、有结构体: struct student { int num,age; }; struct student stu[3]= {{1001,20},{1002,19},{1003,21}}; struct student *p=stu; 则以下错误的引用是: (p++)-num
您可能关注的文档
最近下载
- 中华人民共和国人民陪审员法全文最新解读课件.pptx VIP
- 新能源行业光储能微电网能量管理系统解决方案【50页PPT】.pptx VIP
- 电力系统分析理(第二版 刘天琪 邱晓燕)课后思考题答案(不包括计算).doc VIP
- 突发事件之车站大客流组织讲解.pptx VIP
- 护理三基考试题库7000题.pdf VIP
- 4 古代诗歌四首《次北固山下》 王湾 教学课件 初中语文统编版(2024)七年级上册 第一单元.pptx
- 电力系统分析理论-课后答案(刘天琪-邱晓燕-著)-科学出版社.pdf VIP
- 隧道工程-盾构施工技术(课件).ppt VIP
- 高速铁路隧道工程施工质量验收标准培训课件参考.ppt VIP
- 老虎岩生活垃圾填埋场沼气发电建设项目环境影响报告表.doc VIP
文档评论(0)