13.c-chap10结构、联合和枚举.ppt

  1. 1、本文档共66页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
提纲 10.1 引言 *10.2 结构的定义 *10.3 结构变量的定义 *10.4 结构变量的初始化 *10.5 访问结构变量成员 *10.6 结构和函数 *10.7 类型定义typedef 10.8 联合 *10.9 枚举常量 10.1 引言 在日常生活中,我们经常会用到一些表格。例如,下图是一张某个学校的学生成绩管理表: 为了用计算机程序实现对上述表格的管理,需要先将上述表格进行存储。如何存储? 10.1 引言 根据以前的知识,可以定义若干数组来存储上述信息: int studentID[10]; //存储学生学号 char studentName[30][10]; //存储学生姓名 char studentGender[30][3]; //存储学生性别 int timeOfEnter[30]; //存储入学年份 int scoreEnglish[30]; //存储英语成绩 int scoreMath[30]; //存储数学成绩 int scoreMusic[30]; //存储音乐成绩 10.1 引言 存在的问题: 1.任何一个学生的信息分散在内存各处,要了解一个学生的信息,必须到各个数组的相应元素中去查找,很不方便。而且因为内存不集中,所以查找效率不高。 2.存储结构显得比较零散,不易管理。 而30个学生的信息可以抽象为线性表(线性表是具有相同数据类型的n(n=0)个数据元素的有限序列),每一个学生的信息是表中的一个元素。有没有可能用一个长度为30的一维数组来存储学生成绩表,每个数组元素存储一个学生的信息(包括基本信息和成绩)? 如果可以,那一个数组元素存储了多个不同类型的数据,那数组元素的类型又该如何定义? 10.1 引言 10.1 引言 C语言在产生的时候,设计者就针对此类问题,设计了一系列用户自定义数据类型。用户可以根据具体问题的需要,设计符合自己要求的新的数据类型。结构和联合就是两种用户自定义的数据类型,结构可以用来满足我们上述问题的需要。 提纲 10.1 引言 10.2 结构的定义 10.3 结构变量的定义 10.4 结构变量的初始化 10.5 访问结构变量成员 10.6 结构和函数 10.7 类型定义typedef 10.8 联合 10.9 枚举常量 10.2 结构的定义 一、结构的定义 结构是用其它类型的对象构造出来的派生数据类型(注意:结构是一种数据类型,先定义结构类型,再定义结构类型的变量)。 10.2 结构的定义 上述成绩管理的例子可以定义如下形式的结构: struct STUDENT{ char studentID[10];//存储一个学生的ID char studentName[10];//存储一个学生的姓名 char studentGender[3]; int timeOfEnter; int scoreEnglish; int scoreMath; int scoreMusic; } 10.2 结构的定义 struct card{ char * face; char * suit; }; 定义了一个名为card的结构(类型),由face和suit两个数据项组成。用该结构定义的结构变量可以用来存放一张牌的信息。 10.2 结构的定义 1.“结构名”和“数据项”的命名规则,与变量名相同。 2. 数据类型相同的数据项,既可逐个、逐行分别定义,也可合并成一行定义。 struct card { char * face,* suit; }; 3. 结构中的数据项,可以是不同类型(和数组不同)。既可以是整形、字符型、浮点型、指针,也允许是数组或者另一个已经定义的结构。【链接】 4.1个数据项称为结构的1个成员(或分量)。同一结构中的成员不能同名,不同结构中的成员可以同名。 10.2 结构的定义 5. 结构既可以在函数外定义,也可以在函数内定义。但函数内定义的结构只能在本函数中使用。 6. 不能在struct card结构中定义struct card类型的变量。但可以定义指向struct card类型的指针(称为自引用结构)。 10.2 结构的定义 7. 用户自己定义的结构是一种数据类型,与系统定义的标准类型(int、char等)一样,可用来定义结构变量。结构变量是用一个名字引用的相关变量的集合。 提纲 10.1 引言 10.2 结构的定义 10.3 结构变量的定义 10.4 结构变量的初始化 10.5 访问结构变量成员 10.6 结构和函数

您可能关注的文档

文档评论(0)

好文精选 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档