C语言程序设计 教学课件 作者 孟庆昌 第08章.ppt

C语言程序设计 教学课件 作者 孟庆昌 第08章.ppt

ID:50043609

大小:201.00 KB

页数:104页

时间:2020-03-08

C语言程序设计 教学课件 作者 孟庆昌 第08章.ppt_第1页
C语言程序设计 教学课件 作者 孟庆昌 第08章.ppt_第2页
C语言程序设计 教学课件 作者 孟庆昌 第08章.ppt_第3页
C语言程序设计 教学课件 作者 孟庆昌 第08章.ppt_第4页
C语言程序设计 教学课件 作者 孟庆昌 第08章.ppt_第5页
资源描述:

《C语言程序设计 教学课件 作者 孟庆昌 第08章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第8章结构与联合C语言提供了一种聚合数据类型——结构(或结构体,structure),它是若干相关数据项的集合,其类型可以不同。结构中所含成员的数量和大小必须是确定的,即结构不能随机改变大小。组成一个结构的诸成员的类型可以不同,即结构是异质的。联合(或共用体,union)类型是一种“可变身份”的数据类型,可在不同的时候在同一存储单元里存放不同类型的数据。8.1结构类型及其变量的定义8.2结构成员的引用8.3结构变量的初始化8.4结构数组8.5结构和指针8.6引用自身的结构和链表8.7联合8.1结构类型及其变量的定义8.1.1结构类型的定义结构类型定义的一般形式是

2、:struct结构名{成员表;};例如,表示一位学生简要资料的结构类型可定义如下:structstudent{charname[20];longintorder,id;shortintage;charnativity[10],address[100];intscore[10];};定义结构类型时应注意以下几点:①结构成员可以是任何基本数据类型的变量,如int、char、float和double型等,这些成员的类型可以相同,但往往是不同的。②结构成员也可以是数组、指针类型的变量。例如:structclist{intcount;char*first;char*las

3、t;};③结构类型可以嵌套定义,即允许一个结构中的一个或多个成员是其他结构类型的变量。structid_card{charname[30];charsex;charnationality[20];structdate{intyear,month,day;}birthday;char*p_addr;structdatesigned_date;longintnumber;char*office;};也可以采用另一种形式把各个结构类型单独定义。structdate{intyear,month,day;};structid_card{charname[30];chars

4、ex;charnationality[20];structdatebirthday;char*p_addr;structdatesigned_date;longintnumber;char*office;};④结构类型定义不允许递归,即:一个结构类型的成员中不能含有类型为本结构的变量。例如下面的说明是非法的:structwrong{charname[5];intcount;structwronga;structwrongb;};⑤在C语言中不支持动态结构类型。⑥在同一结构内各成员的名称不能相同。8.1.2结构变量的定义为了使用结构变量,必须先定义结构变量。定义结

5、构变量常用的方法有以下三种:①先定义结构类型,再定义结构变量。structcoord{floatx;floaty;};structcoordfirst,second;注意,利用此种方法定义结构变量时,关键字struct和结构名必须同时出现,缺一不可。②在定义结构类型的同时定义结构变量。例如:structcoord{floatx,y;}first,second;③利用无名结构类型定义变量。其一般形式是:struct{成员表;}变量名表;例如:struct{floatx,y;}first,second;8.1.3结构变量的内部表示定义结构类型只是声明一种数据类型的“

6、样板”。这种样板是抽象的,还没有实体,不占用内存空间,不能在程序中对结构类型直接进行赋值、存取等操作。结构变量是实体,占用内存空间,可进行赋值、存取等操作。结构变量存储单元的分配是按照其类型的样板配置的,通常是依据各个成员在结构中出现的先后次序来分配空间。结构变量可以嵌套。structrectangle{structcoordtopleft;/*左上角坐标*/structcoordbottomrt;/*右下角坐标*/}mybox;8.2结构成员的引用8.2.1引用结构成员的一般方式引用结构成员的一般方式是:结构变量名.成员名first.x表示结构变量first的

7、成员x;first.y表示结构变量first的成员y。引用结构成员的方式是“由整体到局部”,即首先指明是哪个结构变量,然后通过成员关系运算符“.”找到其中指定的成员。结构变量中成员可以像相同类型的简单变量那样进行相应的运算。structcoord{floatx,y;};structcoordfirst;first.x=1.5;first.y=3.8;8.2.2嵌套结构中成员的引用如果要存取最内层结构变量的成员,就要连续的使用“·”运算符,即从外层结构变量找到内层结构变量,逐层存取,直至最内层的成员。例如有如下定义:structcoord{floatx,y;};s

8、tructrectang

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

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

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