清华大学C语言课件-数据的组织结构二 结构体.ppt

清华大学C语言课件-数据的组织结构二 结构体.ppt

ID:48089511

大小:1.42 MB

页数:39页

时间:2020-01-14

清华大学C语言课件-数据的组织结构二 结构体.ppt_第1页
清华大学C语言课件-数据的组织结构二 结构体.ppt_第2页
清华大学C语言课件-数据的组织结构二 结构体.ppt_第3页
清华大学C语言课件-数据的组织结构二 结构体.ppt_第4页
清华大学C语言课件-数据的组织结构二 结构体.ppt_第5页
资源描述:

《清华大学C语言课件-数据的组织结构二 结构体.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Lesson15数据的组织结构1/39学习目标:31学会使用结构体表达数据2/39为什么要定义结构体类型在程序里表示一个人(姓名、年龄、性别…),怎么表示?想表示多个人呢?如何用计算机程序实现下述表格的管理?3结构体的概念23/39数组的解决方法4/39数组的解决方法5/39数据的内存管理方式数组的解决方法分配内存不集中,寻址效率不高对数组赋初值时,易发生错位结构显得零散,不易管理6/39希望的内存分配图7/393结构体的概念2结构体类型的概念结构体是一种可以将若干个不同数据类型的变量组合在一起的复合型数据类型。人们常常借助于它将表达同一对象的不同属性封装在一起,使之达到逻辑概念与程序变量一一

2、对应的目的。提高程序的清晰度,降低程序的复杂度,改善程序的可维护性。8/39C数据类型基本类型构造类型指针类型空类型void定义类型typedef字符类型char枚举类型enum整型实型单精度型float双精度型double数组结构体struct共用体union短整型short长整型long整型int数据类型决定:1.数据占内存字节数2.数据取值范围3.其上可进行的操作C的数据类型总表9/39成员类型可以是基本型或构造型3结构体3定义结构体类型一般方法struct结构体名{类型成员1;类型成员2;….….};注意分号注意:只是告诉计算机,程序中定义了一种新的类型(模板),这种类型的变量具有这样

3、的结构(组成)struct是关键字,不能省略10/39结构体类型的声明声明了一个结构体类型构成结构体的变量称为结构体的成员(StructureMember)结构体的名字称为结构体标签(StructureTag)11/39结构体类型的声明结构体模板(StructureTemplate)Don’tforgetthesemicolon!!形成一个类型声明的样板用于生成结构体变量但并未声明结构体变量因而编译器不为其分配内存注意:1、每个成员都有名称2、每个成员都有类型3、成员排名不分先后4、成员的数量不受限制,根据需要定义12/39(1)先定义结构体类型,再定义变量名(2)在定义类型的同时定义变量(3

4、)直接定义结构体变量(不指定结构体标签)结构体变量的定义结构体类型名结构体变量名13/39在C语言中,允许用户为已经存在的数据类型起一个别名,其说明格式为:typedef原数据类型新数据类型名;14/39注意:“类型名”必须是系统提供的数据类型或用户已定义的数据类型。定义替代类型名的作用是:给已有的类型起个别名标识符例如:typedefintINTEGER;int和INTEGER完全等价INTEGERa;15/39用typedef定义数据类型structstudentstu1,stu2;/*Itworks*/studentstu1,stu2;/*Canthiswork?*/structstu1

5、,stu2;/*Canthiswork?*/STUDENTstu1,stu2;/*Itworks!*/关键字typedef为一种已存在的类型定义一个别名,并未定义新类型STUDENT与structstudent类型是同义词16/39定义结构体Example:StructPoint {floatx,y;};structId{charLastName[10];charFisrtName[10];intAge;};Structpointp1;StructIdId1;StructPoint {floatx,y;}p1;structId{charLastName[10];charFisrtName[10

6、];intAge;}Id1;P1,Id1是结构体变量17/39typedefstructPoint {floatx,y;}POINT;//新类型POINTtypedefstructId{charLastName[10];charFisrtName[10];intAge;}ID;//新类型IDPOINTp1;//定义变量p1,Id1IDId1;typedefStructcircle{floatx,y;floatradium;}CIRCLE;Typedefstructsquare{floatlength;floatx,yl}SQUARE;typedefStructcomplex{floatre,i

7、m;}COMPLEX;COMPLEXc1,c2;//c1,c2结构体变量18/39例structstudent{intnum;charname[20];charsex;intage;floatscore;charaddr[30];};结构体类型定义描述结构的组织形式,不分配内存结构体类型定义的作用域namenumsexagescoreaddr4字节4字节20字节1字节4字节30字节……..19/3

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

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

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