- 1、本文档共73页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第10章 结构体共用体和枚举类型
第10章 结构体、共用体和枚举类型 10.1 结构体类型与结构体变量的定义 10.2 结构体变量的引用与初始化 10.3 结构体数组 10.4 指向结构体类型数据的指针 10.5 单链表 10.6 共用体类型和枚举类型 10.7 定义已有类型的别名 10.1 结构体类型与结构体变量的定义 10.1.1 结构体的类型定义 结构体是一种数据类型,它把互相联系的不同类型的数据组合成一个整体。结构体类型定义的一般格式为 struct 结构体类型名 { 成员说明表; }; /*注意:此处的分号(;)不能省略*/ 其中,成员说明表的一般格式为 数据类型 数据项表; 例如: struct stdtp { int num; char name[10]; float score; }; 上面的例子,定义了一种新的数据类型struct stdtp,这种数据类型包含有num、name、score三个成员,类型分别为整型、一维字符数组、单精度实型,他们可以用来表示学生的学号、姓名和成绩。结构体的成员,既可以是基本数据类型,也可以是数组,甚至可以是另一个已经定义的结构体类型。例如,如果一个学生有语文、英语、数学三门功课,则上面的定义可修改为 struct scoretp { float chinese, english, math; }; struct stdtp { int num; char name[10]; struct scoretp score; }; 10.1.2 结构体变量的定义 结构体是一种数据类型,就像int、char、flaot是数据类型一样。定义了结构体以后,就可以用它定义变量。定义结构体变量,一般有三种方法: (1) 先定义结构体类型,再定义变量,例如: struct stdtp { int num; char name[10]; float score; }; struct stdtp s1, s2; (2) 定义类型的同时定义变量,例如: struct stdtp { int num; char name[10]; float score; } s1, s2; (3) 直接定义变量(省略结构体类型名),例如 struct { int num; char name[10]; float score; } s1, s2; 结构体变量中的各个成员,在内存中顺序存放。结构体变量所占的存储空间,等于各个成员所占存储空间的和。例如,在16位操作系统下,变量s1在内存中占2+10+4=16个字节,如图10-1所示。 10.2 结构体变量的引用与初始化 10.2.1 结构体变量的引用 一般情况下,不能将一个结构体变量作为整体来引用,只能引用其中的成员。引用结构体变量成员的方法是: 结构体变量名.成员名 其中,“.”是“成员运算符”。例如,有定义语句: struct stdtp { int num; char name[10]; float score; } s; 要输入一个学生的信息存放在变量s中,可以使用语句: scanf(%d %s %f, s.num, s.name, s.score); 要使学生的成绩增加5%,可以使用语句: s.score=s.score*(1+0.05); 要输出学生的信息,可以使用语句: printf(num:%d\nname:%s\nscore:%f\n, s.num, s.name, s.score); 当成员的类型是结构体类型时,应一级一级地引用成员。例如,有定义语句: struct scoretp { float chinese, english, math; }; struct stdtp {
您可能关注的文档
- 百分数的意义练习苏教版六年级上.ppt
- 百分数统计表六年级.ppt
- 百分率的计算六年级.ppt
- 百分数的应用六年级.ppt
- 百分数的意义苏教版六年级上.ppt
- 百分数应用题3六年级.ppt
- 百度SEO优化那些事儿 5 14.ppt
- 百分率用的.ppt
- 百度竞价排名产品基础.ppt
- 百分数的认识私人定稿3.ppt
- 基因治疗药物临床研发最新进展与市场前景研究报告.docx
- 2025年传媒行业虚拟现实与增强现实技术应用与产业生态协同发展报告[001].docx
- 食品与饮料行业智能化生产线设备选型研究报告.docx
- 2025年传媒行业虚拟现实与增强现实技术应用与发展战略研究报告.docx
- 2025年传媒行业虚拟现实与增强现实技术应用案例分析及产业生态分析报告.docx
- 2025届南航珠海翔翼公司秋季校园招聘15人笔试参考题库附带答案详解.pdf
- 新能源汽车轻量化材料在汽车轻量化车身制造中的应用现状与趋势报告.docx
- 2025年低空经济城市空中交通规划与航空产业政策导向环境研究报告[001].docx
- 重庆市铜梁县达标名校2025届中考生物模拟试题含解析.doc
- 绿色建筑认证体系在绿色建筑行业绿色转型中的应用与发展趋势报告.docx
文档评论(0)