《结构与联合》PPT课件.ppt

《结构与联合》PPT课件.ppt

ID:52101222

大小:386.84 KB

页数:31页

时间:2020-03-31

《结构与联合》PPT课件.ppt_第1页
《结构与联合》PPT课件.ppt_第2页
《结构与联合》PPT课件.ppt_第3页
《结构与联合》PPT课件.ppt_第4页
《结构与联合》PPT课件.ppt_第5页
资源描述:

《《结构与联合》PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第七章结构与联合结构结构是一种用户自定义类型,它由多个相同数据类型或不同数据类型的成员组成用户自定义类型中定义的每个变量称为数据成员,每个函数称为函数成员或成员函数结构的定义结构定义的格式:struct结构类型名{成员定义1;成员定义2;……成员定义n;};说明1、结构类型的定义以保留字struct开始2、结构类型名即定义的结构类型名称3、左右花括号之间的部分称为结构体4、结构类型中定义的成员可以是除本身结构类型以外的任何已有类型,也可以是任何已有类型(包括本身类型)的指针类型例:structPerson{charname[10];boolsex;int

2、age;floatpay;};定义了一个结构类型,类型名称为Person,结构类型中有四个不同数据类型的成员(注意:定义的不是变量,是一种类型)然后可用结构类型名作类型修饰符来定义结构类型的变量Personx,y;//定义了两个Person结构类型的变量。结构类型定义举例(1)structA{inta,b,c;};(2)structB{charch;intx,y;doublez;}(3)structC{char*cp;inta[5];};(4)structF{doubledata;F*next;}结构类型中定义的成员可以是除本身结构类型以外的任何已有类型

3、,也可以是任何已有类型(包括本身类型)的指针类型结构变量的定义 ——可采用三种格式一、用结构类型名定义变量:格式:〖struct〗结构类型名变量名〖={初始化数据}或同类型变量名〗,…结构类型名相当于类型修饰符初始化数据是由每一个成员值构成的初始化数据,也可以是同类型的变量名。例:structArith{charop;inta,b;};//定义结构类型Arithx,y;//定义两个Arith结构类型的变量x,yArithz1={‘+’,10,xx},z2={‘*’,60},z3=z1;//定义变量z1,z2并初始化二、定义结构类型的同时定义变量格式:st

4、ruct结构类型名{成员定义1;成员定义2;……成员定义n;}变量名〖=初始化数据或同类型变量名〗,…;例:structAAA{chars[20];inttop;}a1={“Microsoft”,0},a2=a1,a3,*ap;//以上语句在定义AAA结构类型的同时定义了三个变量a1,a2,a3及一个指针变量ap,且a1被初始化。三、定义无名结构类型的同时定义变量格式:struct{成员定义1;成员定义2;……成员定义n;}变量名〖=初始化数据或同类型变量名〗,…;这种格式没有类型名,因此必须在定义结构类型时定义变量structBBB{charname[

5、10];struct{intyy,mm,dd;}birth;}bx={“xxk”,{55,3,27}};//结构类型BBB有两个成员,一个字符型数组成员name和一个无名结构类型成员birth(无名结构类型定义时定义了成员),定义BBB结构类型的同时定义了该类型的变量bx,并初始化。结构类型的声明结构类型的声明即不完整定义不完整定义是指只给出定义的类型保留字(即struct)和类型标识符(即结构类型名)而不给出结构体就结束定义不完整定义只能作为指针类型使用并且必须在稍后给出它的完整定义例:structBB;//BB类型的不完整定义,即类型声明struct

6、AA{chara;BB*b;//定义BB结构类型的指针};structBB{//给出BB的完整定义intb;AAa;//使用已定义的AA结构类型};结构大小的计算结构大小计算方法:所有成员占用空间大小的总和例:structAA{int*a;};//一个成员是整型指针,指针类型占用空间是4字节,因此结构类型AA占4字节。例:structBB{inta;intb;};//成员a,b是整型,因此结构类型BB占8字节structCC{char*data;BBs;CC*link;};//成员data占4字节,s是BB结构类型,占8字节,link是指向自身结构类型的

7、指针,占4字节,因此结构类型CC占16字节结构成员的访问操作直接成员运算符(又称点运算符)直接成员运算符:.使用方法:结构变量.成员名例:结构变量x中有成员a,b,c,则访问成员a的方法:x.a若x的成员b中又有成员变量t,则访问成员变量t的方法:x.b.tvec[5].name表示结构数组vec中第5号元素的成员变量name结构成员的访问操作间接成员运算符()使用格式:结构指针变量指针所指向的结构类型数据的一个成员名例:指针p指向某结构数据,则pa是p指针所指向的结构数据的成员变量a,也可以等价地表示为(*p).a直接成员运算符与间接成员运算符的

8、优先级很高(仅次于括号)结构变量的赋值赋值运算符:==两边为同类型的结构变量功能

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

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

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