C++ 结构体 (struct)
C++ 结构体
C++ 结构体是一种将多个相关的变量组合在一起的方式。结构体中的每个变量都被称为结构体的成员。
与数组不同,结构体可以包含许多不同的数据类型(如 int
、string
、bool
等)。
创建结构体
要创建一个结构体,请使用 struct
关键字并在花括号内声明其每个成员。
声明后,指定结构体的变量名(在下面的实例中为 myStructure):
struct { // 结构体声明 int myNum; // 成员(int 变量) string myString; // 成员(string 变量) } myStructure; // 结构体变量
访问结构成员
要访问结构体的成员,请使用点语法 (.
):
实例
将数据分配给结构体的成员并打印它:
// 创建一个名为 myStructure 的结构体变量 struct { int myNum; string myString; } myStructure; // 为 myStructure 的成员赋值 myStructure.myNum = 1; myStructure.myString = "Hello World!"; // 打印 myStructure 的成员 cout << myStructure.myNum << "\n"; cout << myStructure.myString << "\n";
多个变量中的一个结构体
您可以使用逗号 (,
) 在多个变量中使用一个结构体:
struct { int myNum; string myString; } myStruct1, myStruct2, myStruct3; // 使用逗号分隔的多个结构体变量
此例演示如何在两个不同的变量中使用一个结构体:
实例
使用一个结构体来表示两辆车:
struct { string brand; string model; int year; } myCar1, myCar2; // 我们可以在这里使用逗号来添加变量 // 将数据放入第一个结构体 myCar1.brand = "BMW"; myCar1.model = "X5"; myCar1.year = 1999; // 将数据放入第二个结构体 myCar2.brand = "Ford"; myCar2.model = "Mustang"; myCar2.year = 1969; // 打印结构体的成员 cout << myCar1.brand << " " << myCar1.model << " " << myCar1.year << "\n"; cout << myCar2.brand << " " << myCar2.model << " " << myCar2.year << "\n";
命名结构体
通过给结构体命名,您可以将其视为一种数据类型。这意味着您可以在程序的任何位置、任何时间使用此结构体创建变量。
要创建命名结构体,将结构体的名称放在 struct
关键字之后:
struct myDataType { // 这个结构体被命名为 "myDataType" int myNum; string myString; };
要声明使用该结构体的变量,请使用结构体的名称作为变量的数据类型:
myDataType myVar;
实例
使用一个结构体来表示两辆车:
// 声明一个名为 "car" 的结构体 struct car { string brand; string model; int year; }; int main() { // 创建一个 car 结构体并将其存储在 myCar1 中; car myCar1; myCar1.brand = "BMW"; myCar1.model = "X5"; myCar1.year = 1999; // 创建另一个 car 结构体并将其存储在 myCar2 中; car myCar2; myCar2.brand = "Ford"; myCar2.model = "Mustang"; myCar2.year = 1969; // 打印结构体的成员 cout << myCar1.brand << " " << myCar1.model << " " << myCar1.year << "\n"; cout << myCar2.brand << " " << myCar2.model << " " << myCar2.year << "\n"; return 0; }