第11章结构体、共用体和枚举数据类型(教案)

第11章结构体、共用体和枚举数据类型(教案)

ID:35480339

大小:89.98 KB

页数:11页

时间:2019-03-25

第11章结构体、共用体和枚举数据类型(教案)_第1页
第11章结构体、共用体和枚举数据类型(教案)_第2页
第11章结构体、共用体和枚举数据类型(教案)_第3页
第11章结构体、共用体和枚举数据类型(教案)_第4页
第11章结构体、共用体和枚举数据类型(教案)_第5页
资源描述:

《第11章结构体、共用体和枚举数据类型(教案)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、第十一章结构体、共用体和枚举数据类型【目的要求】一、了解:结构变量和结构指针作函数实参的区别;枚举型变量概念、特点与应用;typedef的用途二、理解:结构体、共用体的概念和特点;类型说明和变量定义的区别;单向链表的概念和作用三、学握:结构体、共用体的类型说切、变量定义及使用;结构体数组的定义和初始化(重点);链表的建立、删除和插入(难点)第一节结构体一、结构体的定义格式询而学过的变量都只能定义单一的数据类型,如字符型、整型、实型等等,但是对于复朵的数据,即包含有一个或者多个数据项,各数据项可以具有相同或者不同的类型,并且何个数据项的含义不同,以前的知识就不足了。例如对于学生实体

2、的描述,学牛有姓名,学号,成绩,性别等等。我们要描述一个学生需要多个基本变量的组合(集成)。这种数据类型在Pascal语言中称为记录,在C语言中称为结构体。它们是数据库的雏形。numNameS(2Xagescoreaddress10010LiFunM1887.5Beijing10011ZhangSanM2167Fuzhou10012LisiF2288Jinan10013WangHaiM2072Haikou在上述的信息中,每一行代表一个人的信息,有学号、姓名、性别、年龄、成绩、地址等信息,以前学过的任何-•种数据类型均不能表示,而分别表示乂违背了信息的集成原则,用起来也不方便。数组

3、的特征是每个元素都是同质(identical)的,不能表示不同的数据类型。因此,为了把这么多种基本数据类型集合在一起,发明了结构体。在Pascal语言中叫记录。定义方式如下:structstudent{intnum;charname[20];charsex;intage;floatscore;charaddr[30];};上述并非定义一个变量,或者一个存储空间,而是定义了一个新的结构体类型structstudent(它的地位等同于intchar等数据类型描述)。事实上,定义一个结构体类型的一般形式为:struct结构体名{成员类型成员名1;成员类型成员名2;};号内是成员变量,或

4、者称为分量,由它们集成在一起纽成一个结构体。在上例屮,num,name,sex,age,score,addr都是分量。【例1]定义格式举例structA//A叫结构体类型名{inta,b,c;};〃冇三个整型号变量成员【例2】structB{charch;intx,y;doublez;//五个成员变量};【例3】structC{char*cp;inta[5];};//两个成员变量【例4】structD{int*a;int*ap;intmaxsize;};【例5】structEintd,*e;Bb;};【例6】structF{doubledata;F*next;/*这是指针链表的通

5、常写法*/};【注意】结构体类型变量所占内存空间的大小乂其成员变量所占内存空间之和+1即可。可川sizeofO來求结构体类型变量的空间人小#inelude"stdio.h"structdate{long*cat;structdate*next;doubledog;}too;voidmain(){printf(〃%cT,sizeof(too));}答案12第二节定义结构体变量的方法在上一节讨论了结构体类型的定义,现在要讨论如何由结构体类型生成结构体变量。一、先定义结构体类型名再定义变量名彖定义普通变量一样定义结构体类型变量。定义标准型变量定义结构体类型变量inta;structst

6、udentstudentl;charb;floatc;二、在定义类型的同时定义变虽structstudent{intnum;charname[20];charsox;intage;floatscore;charaddr[30];}studonil;这种形式定义的一般形式为:struct结构体名{成员类型成员名1;成员类型成员名2;}变量名表;三、直接定义结构体类型变虽、结构体名放弃即可。struct{intnum;charname[20];charsex;intage;floatscore;charaddr[30];}studentl;【注意】1.结构体类型名和结构体变量名不要混

7、淆就像intx;这两者的关系一样。2.对结构体中的成员nJ以单独引用3.结构体成员还可以是结构体变量。如:structdatestructstudent{intday;{intnum;intmonth;charname[20];intyear;charsex;};structdatebirthday;charaddr[30];}studentl,student2;4.成员名可以与程序中的变量名相同,二者不代表同一对象如另外再定义intnum;也对。第三节结构体变量的引用定义了结构

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

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

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