结构体与共用体讲义

结构体与共用体讲义

ID:42623605

大小:113.05 KB

页数:9页

时间:2019-09-19

结构体与共用体讲义_第1页
结构体与共用体讲义_第2页
结构体与共用体讲义_第3页
结构体与共用体讲义_第4页
结构体与共用体讲义_第5页
资源描述:

《结构体与共用体讲义》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、第八讲用户自己建立数据类型1、教学目的:掌握结构体定义和使用;掌握结构体数组定义和使用;掌握结构体指针的使用;了解联合体定义和使用。2、教学重点:结构体变量的定义和使用结构体数组的定义和使用。3、教学难点:结构体类型指针4、教学方法:讲授为主,利用多媒体辅助教学。5、教学工具:PPT+板书6、教学学时:27、教学过程:7.1引入在实际牛活中有许多需要由不同类型的数据共同描述的实体,比如通讯录可由姓名、地址、电话、邮政编码等组成;一个学生的情况可由姓名、性别、年龄、成绩、家庭住址等数据项组成。C语言

2、提供了这样一种数据结构,称为结构体。7.2教学内容1)结构体类型的定义和使用2)结构体数组3)结构体类型数据的指针4)共用体类型7・3小结:本章介绍了两种构造类型:结构体和共用体(联合类型)它与我们前面学过的数组类型的区别在于数组由一组具有相同类型的数据标号而成,定义后可应按引用在计算机内存只有-•片连续的空间,而结构体和共用体可由若干不同的类型的数据项构成结构类型。在定义结构体类型时系统不为它分配存储空间。只有引用该类型定义变量时,才为其分配存储空间。本章主要的讲解内容如下:1.结构体类型定义。

3、对结构体变量可以使用输入、输出操作。2.结构体数组的定义及初始化。3.结构体类型数据指针。4.联合类型及变量定义、引用。7.4作业:P330订,2阅读教材8、后记:9、讲义:第九章用户自己建立数据类型9.1结构体类型的定义和使用一、结构体类型的定义构体类型的一般形式为:struct结构体类型名{数据类型1成员名1;数据类型2成员名2;I:B数据类型n成员名n;};例如,为描述口期可定义如下的结构体类型:structdateintyear;intmonth;intday;};二、结构体类型变量的定义

4、定义一个结构体类型的变量,可以采用以下三种方法:1•先定义结构体类型再定义变量,例如上面已定义了一个结构体类型structstudent,可以用它來定义变量:structstudentstudentl,student2;2.在定义类型的同时定义变量上面可改写为:struct结构体类型名{数据类型1成员名1;数据类型2成员名2;IIII数据类型n成员名n;}变量名表列;即在结构体类型定义后直接写出变量名。3.直接定义结构体类型变量,即不定义结构体类型名,在写出结构体类型后直接写出变量名Struct{

5、数据类型1成员名1;数据类型2成员名2;IIII数据类型n成员名n;}变量名表列;说明:1.类型与变量的概念不同。对结构体类型变量来说,在定义时一般先定义结构体类型,然后再定义该结构体类型的变量。只能对结构体类型的变量赋值、存取或运算,而不能对结构体类型赋值、存取或运算。在编译时对类型是不分配存储空间的,只对变量分配存储空间。2.对结构体变量中的成员,可以单独使用,其作用与地位相当于普通变量。3.结构体类型的成员可以是一个己定义的结构体类型变量。例如:structaddr{charcity[20]

6、;unsignedlongzip;unsignedlongtel;};structinfocharname[20J;intage;structaddraddress;};这样先定义了一个structaddr类型,它包括三个成员:city>zip>tel。然后在定义structinfo时,成员address被定义为structaddr类型。2.结构体类型屮的成员可以与程序屮的变量同名,二者不代表同一对象。比如程序屮可以另外定义一个变量name,它与structinfo屮的name无关。三、结构体类型

7、变量的引用在定义结构体类型变量以后,可以引用这个变量。引用结构体类型的变量应遵守以下规则:1.不能将一个结构体变量作为一个整体加以引用,只能引用结构体变量屮的成员。引用方式为:结构体变量名.成员名例如:classmate,ageclassmate.age=20;2.如果成员本身又属于一个结构体类型,则需要再次使用取成员运算符这样一级一级找到最低的一级的成员。3・对结构体类型变量的成员所能执行的操作,与具有相同类型的普通变量所能执行的操作相同。例如:classmate.age++;2.ANSIC新标

8、准允许将一个结构体类型的变量,作为一个整体赋值给另一个具有相同类型的结构体变量。例9.1学生信息输出。structdate{intmonth;intday;intyear;};structstud_type{charnamef20];intage;charsex;structdatebirthday;longnum;floatscore;};main(){structstud_typestudent1={WangLi",1&‘M',12,15,1974,89101,89.5};st

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。