课件集-chap10结构联合枚举.pptx

  1. 1、本文档共65页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

1第十章结构、联合和枚举

210.1引言10.2结构的定义10.3结构变量的定义10.4结构变量的初始化10.5访问结构变量成员10.6结构和函数10.7类型定义typedef10.8联合10.9枚举常量提纲

310.1引言在日常生活中,我们经常会用到一些表格。例如,下图是某个学校的学生成绩管理表:为了用计算机程序实现对上述表格的管理,需要先将上述表格进行存储。如何存储?学号姓名性别入学时间英语高数音乐1张三男20088090662李四男20087867773王五男20089087804……5……

410.1引言根据以前的知识,可以定义若干数组来存储上述信息:intstudentID[30];//存储学生学号charstudentName[30][10];//存储学生姓名charstudentSex[30][3];//存储学生性别inttimeOfEnter[30];//存储入学年份intscoreEnglish[30];//存储英语成绩intscoreMath[30];//存储数学成绩intscoreMusic[30];//存储音乐成绩

510.1引言存在的问题:1.每个学生的信息分散在内存各处,要了解一个学生的信息,必须到各个数组的相应元素中去查找,很不方便,且查找效率不高。2.存储结构显得比较零散,不易管理。而30个学生的信息可以抽象为线性表(线性表是具有相同数据类型的n(n=0)个数据元素的有限序列),每一个学生的信息是表中的一个元素。有没有可能用一个长度为30的一维数组来存储学生成绩表,每个数组元素存储一个学生的信息(包括基本信息和成绩)?如果可以,即一个数组元素存储了多个不同类型的数据,那数组元素的类型又该如何定义?

610.1引言如果可以,那对于前面介绍的洗牌发牌模拟程序,也可以用一个长度为52的一维数组来存储一幅牌,每个数组元素存储两个指针,分别指向表示该张牌花色和面值的字符串。suitsuit[0]suit[1]suit[2]suit[3]face……face[0]face[11]face[12]第6张牌是红心Queen

710.1引言C语言在产生的时候,设计者就针对此类问题,设计了一系列用户自定义数据类型。用户可以根据具体问题的需要,设计符合自己要求的新的数据类型。结构和联合就是两种用户自定义的数据类型,结构可以用来满足我们上述问题的需要。

810.1引言10.2结构的定义10.3结构变量的定义10.4结构变量的初始化10.5访问结构变量成员10.6结构和函数10.7类型定义typedef10.8联合10.9枚举常量提纲

910.2结构的定义一、结构的定义结构是用其他类型的对象构造出来的派生数据类型(注意:结构是一种数据类型)。struct结构名{数据类型数据项1;

数据类型数据项2;

……

数据类型数据项n;

};

1010.2结构的定义上述成绩管理的例子可以定义如下形式的结构:structSTUDENT{charstudentID[10];//存储一个学生的IDcharstudentName[10];//存储一个学生的姓名charstudentSex[3];inttimeOfEnter;intscoreEnglish;intscoreMath;intscoreMusic;}定义了一个名为STUDENT的结构(类型)。该结构有7个数据项。用该结构定义的结构变量可以用来存放一个学生的信息,包括学号、姓名、性别、入学年份、英语成绩、数学成绩和音乐成绩。

1110.2结构的定义structcard{char*face;char*suit;};定义了一个名为card的结构(类型),由face和suit两个数据项组成。用该结构定义的结构变量可以用来存放一张牌的信息。

1210.2结构的定义1.“结构名”和“数据项”的命名规则,与变量名相同。2.数据类型相同的数据项,既可逐个、逐行分别定义,也可合并成一行定义。structcard{char*face,*suit;};3.结构中的数据项,可以是不同类型(和数组不同)。既可以是整形、字符型、浮点型、指针,也允许是数组或者另一个已经定义的结构。【链接】4.1个数据项称为结构的1个成员(或分量)。同一结构中的成

文档评论(0)

158****9376 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档