C++ 结构体(struct)


C++ 结构

结构(也称为结构体)是将多个相关变量分组到一个位置的一种方法。结构中的每个变量称为成员的结构。

不像一个数组,一个结构体可以包含多种不同的数据类型(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;
}
亲自试一试 »