Excel不相邻列如何打印在一起-英雄云拓展知识分享
138
2023-11-01
【摘要】 本书摘自《C++程序开发案例课堂》一书中第9章,第1节,由刘春茂、李琪编著。
第 9 章 灵活定义数据类型
结构体、共用体
和枚举类型
C++ 提供了结构体和共用体新类型,这些类型对数据的整合有很大的作用,从 而使代码更加灵活和简洁。本章带领读者学习结构体和共用体,了解结构体和共用 体如何声明和定义,清楚两者之间的异同,掌握结构体和共用体在程序中的初始化 和使用,熟练掌握枚举类型的定义和使用。
9.1 结 构 体
在 C++ 中,由不同数据类型的数据组成的整体称为结构体,结构体的作用就是构造复杂 的数据类型。
例如, 一个关于学生信息的复杂数据结构, 一个学生需要学号、姓名、年龄等属性(见图9-1), 那么就可以使用结构体来定义这样一个数据结构,学号等属性就称为成员数据,每个成员数 据的数据类型都不相同,这样定义的学生信息就更加便于管理。
9.1.1结构体的声明
定义一个结构体类型的一般形式如下:
struct 结构体名成员列表
};
其中, struct 是定义结构体的关键字。结构体名是一个用户定义的标识符,它规定了所定 义的结构体的名称。成员列表是用来定义结构体的组成成员的,每个成员包括成员名称及成 员类型。
不要误认为凡是结构体类型都有相同的结构。实际上,每一种结构体类型都有自 己的结构,可以定义出多种具体的结构体类型。
在程序运行过程中,结构体定义后并不直接分配内存空间,只是说明该结构体由哪些成 员类型组成。当程序当中定义了一个结构体类型的变量的时候,编译程序才会给系统分配存 储空间。
结构体的定义有以下3种形式。
(1)在定义一个结构体类型之后,把变量定义为该类型。例如:
struct person
{ char name[20];
int age;
int nm;
char nation;
其中, struct person 代表类型名(类型标识符),就像用 int 定义变量时, int 是类型名一 样。在定义变量时 struct可以省略不写。
(2)在定义结构体类型的同时说明结构体类型变量。
例如:
这种形式的说明的一般形式为:
(3)直接说明结构体类型变量。例如:
这种形式的说明的一般形式为:
如果成员本身又属于一个结构体类型,则要用若干个成员运算符, 一级一级地找 到最低的一级成员。只能对最低级的成员进行赋值或存取及运算。
9.1.2 结构体变量的初始化与使用
下面介绍如何初始化和使用结构体变量。
应,如果跳过前一个成员而直接赋值后面的成员变量,在编译过程中会产生错误。但是,如 果只赋值前面的成员变量,对后面的成员变量不进行赋值,编译过程中会直接给后面的成员 变量赋值为0。
结构体变量的使用主要包括以下一些要点。
(1)结构体变量之间可以相互赋值。
(2)结构体变量中的某个成员的值可以单独被引用,形式如下: 结构体变量名,成员名
其中, "."是成员运算符。
(3)结构体变量可以嵌套使用,也就是说一个结构体变量的成员也可以是一个结构体类 型变量。
(4)结构体的每个成员都可以单独地输入或者输出,但是不能作为整体进行输入或者输出。
(5)结构体中的成员变量性质与普通变量一样,可以进行各类操作。
(6)访问结构体变量时,可以通过结构体地址访问,也可以通过结构体变量地址直接访问。
一个结构体变量占用内存的实际大小,也可以利用 sizeof 函数运算求出。它的表 达形式为: sizeof(运算量)。
下面通过一个实例来说明结构体的使用方法。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 18664393530@aliyun.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~