7.4 结构体数组和7.5共用体(教学设计)-高一《编程语言基础-C语言》同步精品课堂(高教社·第5版)

2023-05-23
| 5页
| 245人阅读
| 2人下载
精品

内容正文:

7.4 结构体数组和7.5共用体 一、教学目标 1.掌握利用结构体数组解决问题。 2.理解共用体定义格式。 3.了解共用体保存数据类型长度。 二、重点难点 1.重点:(1)掌握利用结构体数组解决问题 (2)理解共用体定义格式 2.难点:了解共用体保存数据类型长度。 三、教学时间 本任务教学,课内计划1课时。 4、 学科网(北京)股份有限公司精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 5、 教学过程 教学过程 教学环节 教师活动 学生活动 设计意图 导入新课 1.问题1: 在之前的学习中相信大家都了解到了结构体(Struct)是一种构造类型或复杂类型,它可以包含多个类型不同的成员,有哪些呢? 例如: struct node{ datatype data[max]; struct node *next; 讨论、思考、观察 通过问题引入,激发学生的学习兴趣,思考上节课知识,教师引导,引出今天的学习主题 讲授新课 在实际应用中,可以把结构体定义为数组,数组的元素类型是结构体类型。结构体数组就是具有相同结构类型的变量集合。假如要定义一个班级50个同学的姓名、性别、年龄和住址, 可以定义成一个结构数组。 struct{                  char name[8];                   char sex[2];                   int age;                   char addr[40];        }STUD STUD s[50] 这样结构体变量s可以存放50个学生的情况,即有50个STUD型元素s[0],s[1],... s[49]。 引用情况如:s[0],name 、s[0]sex、s[0]. age、s[0]. addr.yy 结构体数组的初始化方式与数组类似,都是通过为元素赋值的方式完成的。由于结构体数组中的每个元素都是一个结构体变量,因此,在为每个元素赋值的时候,需要将其成员的值依次放到一对大括号中。 例如,定义一个结构体数组Student,该数组有3个元素,并且每个元素有num、name、sex三个成员,可以采用下列两种方式对结构体数组student初始化。 具体示例如下: struct Student { int num; char name[10]; char sex; }; struct Student students[3] = { {20140101, "Zhang San", 'M'}, {20140102, "Li Si", 'W'}, {20140103, "Zhao Liu", 'M'} }; 也可以在程序运行时为结构数组的每个元素的各分量单独赋值,例如: s[0].score=526; sanf("%s", &s[0].name); 共用体 在C语言中,共用体类型同结构体类型一样,都属于构造类型,它在定义上与结构体类型十分相似,定义共用体类型的语法格式如下所示: union 共用体类型名称 { 数据类型 成员名1; 数据类型 成员名2; …… 数据类型 成员名n; }; 在上述语法格式中,“union”是定义共用体类型的关键字,其后是所定义“共用体类型名称”,在“共用体类型名称”下的大括号中,定义了共用体类型的成员项,每个成员是由“数据类型”和“成员名”共同组成的。 说明: 1、共用体变量的定义与结构体类似,可以把类型说明和变量定义放在一起,也可以分开,还可以直接定义共用体变量而不要共用体名。 2、共用体的含义与结构体不同,共用体中的所有成员均放在以同一地址开始的存储空间中,使用覆盖方式共享存储单元。共用体所占存储空间的大小取决于占存储空间最大的那个成员。而结构体所占存储空间大小等于所有成员所占存储空间大小的总和。 3、共用体变量不能在定义时赋初值。 共用体类型数据的使用要注意以下几点: 不能对共用体变量进行整体赋值,只能单独引用其某个成员。 共用体的引用方式与结构体完全相同。 共用体变量不能作为函数的参数或函数值,但可以使用指向共用体的指针变量。 共用体可以作为结构体的成员,结构体也可作为共用体的成员。 共用体所占的内存长度等于最长成员的长度,因为共用体的成员共用同一个地址存放数据,也就是使用了覆盖技术,后一个数据覆盖前面的数据,使几个不同的变量共享同一段内存。例: union B { int a; char b; short c; double d; }; 学生思考、理解 如何定义结构数组 理解结构体变量s在结构数组中的作用 理解数组初始化过程 思考

资源预览图

7.4 结构体数组和7.5共用体(教学设计)-高一《编程语言基础-C语言》同步精品课堂(高教社·第5版)
1
7.4 结构体数组和7.5共用体(教学设计)-高一《编程语言基础-C语言》同步精品课堂(高教社·第5版)
2
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。