- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
★结构体共用体和枚举类型
枚举类型变量的使用 关系运算:枚举值进行比较时,比较的是它们对应的整型值的大小。例如c1c2的运算结果为true。 输出:直接输出枚举变量时,输出的是枚举变量对应的整数。如需输出对应的字符串,必须通过代码进行转换。 输入:不能直接输入枚举类型变量的值,例如: cinday1; //错误 对于枚举值的输入,通常通过输入一个整型值,然后把该整型值转换成一个枚举值。 例9.4 输入/输出枚举类型的值。 #includeiostream.h enum Major{ chinese,math,physics,computer }; void main() { Major m; int n; coutInput the major: 0-chinese,1-math,2-physics,3-computer\n; cinn; switch(n) { case 0: m=chinese;break; case 1: m=math;break; case 2: m=physics;break; case 3: m=computer;break; default: coutInput error!\n; return; } switch(m) { case chinese: coutChinese\n; break; case math: coutmath\n; break; case physics: coutphsics\n; break; case computer: coutcomputer\n; break; } } 单击此处编辑母版标题样式 单击此处编辑母版副标题样式 第9章 结构体、共用体和枚举类型 9.1 结构体的定义及应用 9.2 位域* 9.3 共用体的定义及应用 9.4 枚举类型 作业:3,6,7 9.1 结构体的定义及应用 设每个学生的数据包括: 姓名:字符型数组 年龄:无符号整型 成绩:单精度浮点类型 如何存放10位学生的原始数据? 解:定义3个数组分别存放10位学生的姓名、年龄和成绩,用数组下标区别不同的学生: char name[10][20]; //存放10位学生的姓名 int age[10]; // 年龄 float score[10]; // 成绩 用name[i]、age[i]和score[i]表示第i个学生数据。 不足:变量多、未能直接反映同一学生数据间的联系。 改进: ①定义结构体类型,描述同一学生的多个数据: struct student{//反映同一学生数据间的联系 char name[20]; //姓名 int age; //年龄 float score; //成绩 }; ②定义student类型的数组,存放10位学生的数据: student s[10]; //变量少 结构体可将不同类型的数据组织为一个整体。 9.1.1 结构体类型的定义 结构体类型需先定义后使用,其定义格式: struct 结构体类型名{ 类型1 成员1; 类型2 成员2; …… }; 说明 结构体类型名用标识符表示。 成员可以是基本类型或导出类型的变量,不能指定存储类型为auto、register、extern,但可指定存储类型为static。 定义结构体类型用分号“;”表示结束。 结构体类型是一个存储模型,本身不占内存,仅当定义其变量时,系统才按此存储模型为其变量分配相应的内存。 9.1.2 结构体类型变量的定义 定义结构体类型变量的格式为: 结构体类型名 变量列表; 或 struct 结构体类型名 变量列表; 其中,结构体类型名为已定义的类型;多个变量之间用逗号分隔;后一种格式与C兼容。 例如: student s1,s2,s3[10]; 或 struct student s1,s2,s3[10]; student类型变量s1的内存分配图 … 按student类型的存储模型为其变量s1分配内存。 student类型的存储模型所需内存字节数: sizeof(student) s1变量各成员在内存中的顺序与其类型中成员说明的顺序一致。 name 占20字节 age 占4字节
文档评论(0)