复合数据类型

复合数据类型

ID:38243387

大小:119.39 KB

页数:5页

时间:2019-05-31

复合数据类型_第1页
复合数据类型_第2页
复合数据类型_第3页
复合数据类型_第4页
复合数据类型_第5页
资源描述:

《复合数据类型》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、复合数据类型是由几个或许多基本数据类型和复合数据类型构造而成。又成为构造数据类型或扩展数据类型。一、结构体类型形式:struct结构体标识符{成员变量列表;};说明:(1)结构体是一个可以用来包含不同数据类型的结构,用户可以自定义数据类型,在结构体中可以声明不同的数据类型。(2)成员变量列表即组成结构体的各种数据成员的变量定义。包括数据类型和成员名两部分。数据类型可以是基本数据类型或结构体类型。(3)结构体可以嵌套定义。(4)结构体也可以用关键字typedet定义,形式为:typedefstruct{成员列表;}结构体标识符(6)声明结

2、构体变量的时候,关键字struct和结构体标识符都不可缺少,但是如果是在定义结构体的时候声明变量,那么只需将变量名写在结构体定义后面的括号后即可,此时,结构体标识符可以省略。如果使用typedef关键字定义,则在声明变量的时候,只需使用结构体标识符即可。(7)结构体的初始化,对结构体变量赋初值的时候,C++编译程序将按每个结构体成员在结构体中的顺序一一对应赋初值,不允许跳过前面的成员给后面的成员赋初值。但是,可以只给前面的成员赋初值,后面成员的值系统将自动赋值。Int类型的默认值是0,char类型的默认值是空('x0'),float

3、类型的变量默认值为0.0.同类型的结构体变量可以整体赋值。(8)结构体变量的引用有三种方法结构体变量名.成员名指针变量->成员名(*指针变量名).成员名其中结构体变量名也可以是已经定义的结构体数组的数组元素。指针变量名为定义的同一类型的指针变量,并使该指针指向同类型的变量。上述结构中“.”为成员运算符,->为结构指向运算符。(9)结构体相当于一种自定义变量类型,因此变量、指针、数组等可以是结构体类型的。其具体的使用方法与普通变量相当,比如结构体变量名与数组变量名不同,不是地址。二、联合联合是一种数据结构,联合数据类型同样包含多个成员变量

4、,但所有的成员变量共享一段内存,一个联合变量的长度等于各成员中最长的长度。有些资料上也将联合称为共用体。1.定义union公用体标识符{成员变量列表;…}2.联合变量的初始化union变量名{成员列表}={成员列表中第一个成员的值};只能对联合变量的第一个成员赋初始值3.声明联合变量有四种方法,与结构体类型大同小异。一是先定义联合变量类型,再声明联合变量。二是定义联合变量类型的同时声明联合变量。三是直接声明联合变量。四是采用typedef重定义类型声明联合变量。4.联合变量的引用。联合变量的引用也是三种方式,与结构体类型完全相同。联合变

5、量可以在同一内存空间存放多个不同类型的成员,但在某一时刻只能存放其中的一个成员,此时其他成员的数据被该成员的数据覆盖、引用无意义。联合型变量的长度等于成员中最长的成员的长度。各个成员共享同一段内存,但是各个成员使用内存的情况并不相同,各个成员都是从低地址方向开始使用的,使用内存空间的长度与其数据类型有关,即各个成员都是使用从低地址开始的sizeof(成员数据类型)字节的内存。因此,在改变联合中的一个成员的值的时候,其它成员的值也会随之改变,因为改变的那个成员改变了低地址的内存中的数据。三、枚举1.定义在引用枚举数据类型之前需要先定义,形

6、式如下:enum枚举标识符{枚举常量列表};2.说明(1)enum为系统关键字,表示定义枚举数据类型;常量列表包含该枚举类型的值,每个枚举常量之间通过逗号分隔。(2)每个枚举常量都有其对应的整型常量的数值。这个数值可以是系统设定的,也可以使自己定义的。系统默认,第一个枚举常量的整型常量的值为0,以后一次加一。若在定义的时候通过赋值语句赋值,即枚举常量1=常量,则其后的枚举常量对应的整型值依次为前面一个的值加一。3.声明枚举型变量声明方法有两种,其一是先定义枚举类型,然后再定义枚举变量。其二是定义枚举类型,同时定义枚举变量。定义时的格式与

7、结构体型和联合型相似。4.枚举变量的引用枚举变量是一个整数的集合。枚举变量成员的引用类似于整形变量的引用,并可以与整型数据之间进行类型转换。四、用户自定义数据类型用户自定义数据类型是指C++允许用户定义符合具体要求的数据类型,包括基本数据类型和复合数据类型,都可以重新定义。C++引入类型重定义语句typedef,其可以为数据类型定义新的名称。形式如下:typedef类型名称类型标识符;其中类型标识符为已知的数据类型,包括基本数据类型和复合数据类型;类型标识符为新的类型名称。五、动态数据链表动态数据最大的优点是数据的多少及其相互之间的逻辑

8、关系可以在程序执行的过程中按需改变,它描述的是一个活动的世界。常用的动态数据结构有链表、树、图等等1.链表的定义将逻辑上相邻的数据分散在物理上相邻的存储单元中,数据之间的逻辑关系通过存储单元的邻接关系来体现

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

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

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