结构(也称为结构体)是将多个相关变量分组到一个位置的一种方法。结构中的每个变量称为成员的结构。
不像一个数组,一个结构体可以包含多种不同的数据类型(int、string、bool等)。
要创建结构,请使用struct
关键字并在大括号内声明其每个成员。
声明后,指定结构体变量的名称(我的结构在下面的例子中):
struct { // Structure declaration
int myNum; // Member (int variable)
string myString; // Member (string variable)
} myStructure; // Structure variable
要访问结构体的成员,请使用点语法 (.
):
将数据分配给结构的成员并打印它:
// Create a structure variable called myStructure
struct {
int myNum;
string myString;
} myStructure;
// Assign values to members of myStructure
myStructure.myNum = 1;
myStructure.myString = "Hello World!";
// Print members of myStructure
cout << myStructure.myNum << "\n";
cout << myStructure.myString << "\n";
亲自试一试 »
您可以使用逗号 (,
) 在多个变量中使用一个结构:
struct {
int myNum;
string myString;
} myStruct1, myStruct2, myStruct3; // Multiple structure variables separated with commas
此示例演示如何在两个不同的变量中使用结构:
使用一种结构代表两辆车:
struct {
string brand;
string model;
int year;
} myCar1, myCar2; // We can add variables by separating them with a comma here
// Put data into the first structure
myCar1.brand = "BMW";
myCar1.model = "X5";
myCar1.year = 1999;
// Put data into the second structure
myCar2.brand = "Ford";
myCar2.model = "Mustang";
myCar2.year = 1969;
// Print the structure members
cout << myCar1.brand << " " << myCar1.model << " " << myCar1.year << "\n";
cout << myCar2.brand << " " << myCar2.model << " " << myCar2.year << "\n";
亲自试一试 »
通过为结构命名,您可以将其视为一种数据类型。这意味着您可以随时在程序中的任何位置创建具有此结构的变量。
要创建命名结构,请将结构的名称放在struct
关键字:
struct myDataType { // This structure is named "myDataType"
int myNum;
string myString;
};
要声明使用结构体的变量,请使用结构体的名称作为变量的数据类型:
myDataType myVar;
使用一种结构代表两辆车:
// Declare a structure named "car"
struct car {
string brand;
string model;
int year;
};
int main() {
// Create a car structure and store it in myCar1;
car myCar1;
myCar1.brand = "BMW";
myCar1.model = "X5";
myCar1.year = 1999;
// Create another car structure and store it in myCar2;
car myCar2;
myCar2.brand = "Ford";
myCar2.model = "Mustang";
myCar2.year = 1969;
// Print the structure members
cout << myCar1.brand << " " << myCar1.model << " " << myCar1.year << "\n";
cout << myCar2.brand << " " << myCar2.model << " " << myCar2.year << "\n";
return 0;
}
亲自试一试 »
截取页面反馈部分,让我们更快修复内容!也可以直接跳过填写反馈内容!