Menu
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

C++ 教程

C++ 主页 C++ 简介 C++ 入门 C++ 语法 C++ 输出 C++ 注释 C++ 变量 C++ 用户输入 C++ 数据类型 C++ 运算符 C++ 字符串 C++ 数学 C++ 布尔值 C++ If...Else C++ Switch C++ While 循环 C++ For 循环 C++ Break/Continue C++ 数组 C++ 结构体 C++ 枚举 C++ 引用 C++ 指针

C++ 函数

C++ 函数 C++ 函数参数 C++ 函数重载 C++ 作用域 C++ 递归

C++ 类

C++ OOP C++ 类/对象 C++ 类方法 C++ 构造函数 C++ 访问修饰符 C++ 封装 C++ 继承 C++ 多态 C++ 文件 C++ 异常 C++ 日期

C++ 数据结构体

C++ 数据结构 & STL C++ 向量 C++ 列表 C++ 栈 C++ 队列 C++ 双端队列 C++ 集合 C++ 映射 C++ 迭代器 C++ 算法

C++ 如何做

C++ 加两个数字 C++ 随机数

C++ 参考

C++ 参考 C++ 关键字 C++ <iostream> C++ <fstream> C++ <cmath> C++ <string> C++ <cstring> C++ <ctime> C++ <vector> C++ <algorithm>

C++ 示例

C++ 示例 C++ 现实生活中的例子 C++ 编译器 C++ 练习 C++ 问答 C++ 证书


C++ 结构体 (struct)


C++ 结构体

结构体(也称为 structs)是一种将多个相关变量组合到一起的方法。结构体中的每个变量被称为结构体的 **成员**。

数组 不同,结构体可以包含许多不同的数据类型(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;
}
自己尝试 »

×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.