结构和动态数据结构的基础
第7章 结构和链表 本章学习的目标是: 1、掌握结构数据类型、结构变量和结构指针的定义,结构成分的引用方法; 2、掌握结构数组的定义和使用方法; 3、掌握编写有结构形参、结构指针形参,以及返回结构的函数的方法; 4、掌握链接存储线性表的概念和基本操作; 5、了解联合、位域、枚举数据类型的概念和使用方法; 6、掌握类型定义和变量定义的方法。 7.1结构类型和结构变量 7.2结构数组 7.3结构与函数 7.4链表 7.5联合 7.6位域 7.7枚举 7.8类型定义 7.9变量定义 7.1 结构类型和结构变量 基本类型:如整型、实型、字符型等。 构造类型:数组,每个元素都是属于同一个类型。 结构类型:不同的数据类型组成一个整体方便使用。 例如:一个学生数据实体可能有以下多项信息 学号、 姓名、 性别、 家庭地址 int char char char 说明:这类实体的数据因所包含的成员类型不同,不能用单个数组来表示,也不便将它们的成员分拆成多个独立的简单变量,因为这样会失去实体的整体性。 结构类型形式: struct 结构类型名 { 成员说明表 }; 其中 关键字“struct”:引出结构类型的定义。 结构类型名:整个结构类型的名称。 成员说明表:指明组成此种结构类型的全部成员。 结构类型例 学生数据结构类型为: struct student { int number; /* 学号 */ char name[20]; /* 姓名,少于20个字符 */ char sex; /* 性别 */ char address[40]; /* 家庭地址 */ }; 上述代码定义结构类型有number、name、sex和address共4个成员,各成员的数据类型分别为整型、字符数组、字符型和字符数组。 当结构类型中的某个成员又是另一个结构类型时,这种结构类型是一种嵌套的结构类型。例如,给上述学生信息增加出生日期,并将出生日期定义为一种包含日、月、年3项信息的结构类型,则更完整的学生信息类型就被定义成嵌套的结构类型。 struct Date /* 说明一个日期 */ { int day; /* 日 */ int month; /* 月 */ int year; /* 年 */ }; struct student { int number; /* 学号 */ char name[20]; /* 姓名 */ char sex; /* 性别 */ Date birthday; /*采用C++句法,birthday的类型是结构类型Date,如果采用C句法,则在Date之前用struct引导 */ char address[40]; /* 家庭地址 */ }; 上述代码先定义Date结构类型,由day、month和year三个成员组成。 然后在定义student结构类型时,将成员birthday指定为Date结构类型,使类型student是一个嵌套的结构类型。 在实际应用中,为表示复杂的数据结构,常常用到这种嵌套的结构类型。在结构类型中有数组和结构成员,数组的元素又是结构,结构中又有结构,嵌套层次会有许多层。 结构变量 在结构类型定义中,详细列出了结构类型所包含的每个成员的名称及其类型。实际上,结构类型定义只是表明一类实体其数据属性的“模式”,并不定义一个特定的数据实体,因此不要求分配存储单元。 程序如果要实际使用结构类型所描述的数据信息,就必须定义结构变量。结构变量要占用存储单元,能存放如结构类型所描述的具体数据。对结构类型和结构变量,我们可以简单地理解为,结构类型是表示数据框架的描述文本,结构变量才能存放实际数据。 结构变量的定义 一、先定义结构类型,再定义结构变量 形式:struct 结构类型名 结构变量表; //C句法 形式:结构类型名 结构变量表;//C++句法 例如:利用前面已定义的结构类型 struct student 代码: struct student st1, st2;//C句法 代码: student st1, st2;//C++句法 表示:定义了两个结构变量st1
您可能关注的文档
最近下载
- 六年级下册《生命.生态.安全》全册教案(表格式).doc VIP
- JBT 5944-2018 工程机械 热处理件通用技术条件.pdf VIP
- F102050【复试】2024年东北农业大学090201果树学《加试园艺通论》考研复试核心335题(.pdf VIP
- 2025医美行业白皮书.pdf VIP
- 装饰装修施工组织设计完整版.doc
- 六年级下册《生命.生态.安全》全册教案.pdf VIP
- 《大学生毕业论文写作教程》第三章.pptx VIP
- 苏少版四年级下册音乐教案【完整版】(最全).doc VIP
- 湖南省交通事故历年统计数据.docx VIP
- 保险科技驱动下的高质量发展路径:理论框架与实证分析.docx VIP
原创力文档

文档评论(0)