结构体

收藏762

阅读1108

更新时间2025-08-05

C++ 结构体

C++ 结构体是一种将多个相关的变量组合在一起的方式。结构体中的每个变量都被称为结构体的成员

与数组不同,结构体可以包含许多不同的数据类型(如 intstringbool 等)。

创建结构体

要创建一个结构体,请使用 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;  
}
运行实例 »

点击 "运行实例" 按钮查看在线实例

科技资讯

更多

精选课程

更多
前端入门_HTML5
前端入门_HTML5

共29课时

61.7万人学习

CSS视频教程-玉女心经版
CSS视频教程-玉女心经版

共25课时

39.3万人学习

JavaScript极速入门_玉女心经系列
JavaScript极速入门_玉女心经系列

共43课时

71万人学习

独孤九贱(1)_HTML5视频教程
独孤九贱(1)_HTML5视频教程

共25课时

61.6万人学习

独孤九贱(2)_CSS视频教程
独孤九贱(2)_CSS视频教程

共22课时

23万人学习

独孤九贱(3)_JavaScript视频教程
独孤九贱(3)_JavaScript视频教程

共28课时

33.9万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时

125.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号