C/C++ 数组允许定义可存储相同类型数据项的变量,但是结构是 C++ 中另一种用户自定义的可用的数据类型,它允许您存储不同类型的数据项。
结构
结构定义
为了定义结构,您必须使用 struct 语句。struct 语句定义了一个包含多个成员的新的数据类型,struct 语句的格式如下:
struct type_name {
member_type1 member_name1;
member_type2 member_name2;
member_type3 member_name3;
.
.
} object_names;
type_name 是结构体类型的名称,member_type1 member_name1 是标准的变量定义,比如 int i; 或者 float f; 或者其他有效的变量定义。在结构定义的末尾,最后一个分号之前,您可以指定一个或多个结构变量,这是可选的。
当需要处理一些具有多种属性的数据时,结构往往是很好的选择。例如
struct ID
{
string name;
string uid;
string sex;
};
注意:C++对于一个结构所能包含的变量的个数是没有限制的,那些变量通常我们成为该结构的成员,他们可以是任意一种合法的数据类型。
结构作为函数参数
在定义了一个结构之后,就可以使用如下所示的语法来创建该类型的变量了:
ID id;
id.name = "小明";
id.uid = "123456789";
id,sex = "男";
如果我们在创建一个结构类型变量的时候就已经知道它各个成员相关的值,我们可以在声明新变量的同时进行赋值:
ID id = {
"小明","12345678","男"};
指向结构的指针
创建一个指向该结构的指针:
ID* pIDData;
pIDData = &IDData;
注意:因为指针的类型必须与指向的地址的变量的类型一致
我们可以通过对指针进行解引用来访问相应的变量值
(* pIDData).name = "小明";
(* pIDData).uid = "123456789";
(* pIDData).sex = "男";
或者可以用第二种方法:
pIDData->name = "小明";
pIDData