第九章结构体数据类型与链表.doc

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

授课次数:第2次(4~6节) 教材章节:第9章 结构体和链表 教学方法:讲授法、演示法、例举法 教学目的: 1. 掌握结构体的定义 2.掌握结构体的使用 3.了解链表的数据结构和基本操作 重点难点: 1.结构体的定义; 2.结构体的使用。 导入新课: 这节课我们来学习结构体的使用。 授课过程: 第九章 结构体和链表 9.1 结构体类型的定义 结构体由若干成员组成,各成员可有不同的类型。在程序中要使用结构体类型,必须先对结构体的组成进行描述。 例如,学生信息可用结构体描述为: struct student {int num; char name[20]; char sex; int age; float score; char addr[40];}; 其中,关键字struct引入结构体类型的定义。struct之后任选的标识符是结构体类型的名字。用花括号括起来的是结构体成员说明。 上例说明结构体类型struct student有6个成员,分别命名为num,name,sex,age,score和addr。这6个成员分别表示学生的学号、姓名、性别、年龄、成绩和家庭住址,显然他们的类型是不同的。 需要特别指出的是,struct student是程序设计者自己定义的类型,它与系统预定义的标准类型一样,可用来定义变量,使变量具有struct strdent类型。 例如:struct student st1,st2[20]; 分别定义了struct student结构体类型的变量st1和struct student结构体类型的数组变量st2。 结构体类型的定义形式为: struct 结构体类型名 {成员说明列表}; 其中,花括号内的内容是该结构体类型的成员说明,每个成员说明的形式为: 类型符 成员名; 实际上,凡是相关的若干数据对象都可组合成一个结构体,在一个结构体名下进行管理。 例如,由日、月、年组成的结构体类型为: struct date {int day; int month; int year;} 职工信息结构体类型为: struct person {char name[20]; char address[40]; float salary; float cost; struct date hiredate;}; 其中,结构体类型struct person含有一个结构体类型成员hiredate。 结构体类型可以嵌套定义,即一个结构体类型中的某些成员又是其他结构体类型。但是这种嵌套不能包含自身,即不能由自己定义自己。 结构体类型说明中,详细列出了一个结构体的组成情况、结构体的各成员名及其类型。结构体类型说明了一个数据结构的模式,但不是定义变量,并不要求分配实际的存储空间。 程序要实际使用结构体,必须定义结构体变量。编译程序在为结构体变量分配存储空间时,其中各成员的存储格式及其意义与结构体类型保持一致。 9.2 结构体类型变量 9.2.1 结构体类型变量的定义 要定义一个结构体类型的变量,可采取以下3种方法。 1.先定义结构体类型,再定义结构体变量 如上面已定义了一个结构体类型struct student,可以用它来定义变量。 例如: struct student student1,student2; 定义student1和student2为struct student类型变量,即它们是具有struct student类型的结构体变量。 为了使用方便,人们通常用一个符号常量代表一个结构体类型。在程序开头,加上命令: #define STU_TYPE struct student 这样在程序中,STU+TYPE与struct student完全等效。例如,先定义结构体类型: STU_TYPE {int num; char name[20]; char sex; int age; float score; char addr[40];}; 然后就可以直接用STU_TYPE定义变量。例如: STU_TYPE student1,student 2; 2.在定义结构体类型的同时定义结构体类型变量 例如: struct student {int num; char name[20]; char sex; int age; float score; char addr[40];}student1,student2; 它的作用与前面定义的相同。即定义了两个struct student类型的变量student1和student2。 这种定义方法的一般形式为: struct 结构体类型名 {成员说明表列}变量名表列; 3.直接定义结构体类型变量 其一般形式为: struct{成员说明表列}变量名表列; 即在结构体定义时不出现结构体类型名,这种形式虽然简单,

文档评论(0)

youbika + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档