明德-L14-结构体
2026-05-21 12:37:00
发布于:广东
结构体
基本思想
结构体是一种自定义数据类型,可以把多个不同类型的数据组合在一起,表示一个完整的对象。
例如,一个学生可以包含:
| 信息 | 类型 |
|---|---|
| 姓名 | string |
| 年龄 | int |
| 成绩 | double |
如果不用结构体,需要分别定义多个数组;使用结构体后,可以把这些信息统一放在一个变量中,代码更清晰。
结构体定义
基本格式
struct 结构体名 {
数据类型 成员名1;
数据类型 成员名2;
数据类型 成员名3;
};
示例
struct Student {
string name;
int age;
double score;
};
说明:
| 部分 | 作用 |
|---|---|
| struct | 定义结构体的关键字 |
| Student | 结构体类型名 |
| name / age / score | 结构体成员变量 |
| 分号 ; | 结构体定义结束必须加 |
创建结构体变量
定义结构体后,可以像使用普通类型一样创建变量。
Student s;
这表示创建了一个学生变量 s。
访问结构体成员
使用 . 访问结构体中的成员。
s.name = "Tom";
s.age = 18;
s.score = 95.5;
输出:
cout << s.name << " " << s.age << " " << s.score;
代码实现:输入并输出一个学生信息
#include <iostream>
#include <string>
using namespace std;
struct Student {
string name;
int age;
double score;
};
int main() {
Student s; // 定义一个结构体变量
cin >> s.name; // 输入姓名
cin >> s.age; // 输入年龄
cin >> s.score; // 输入成绩
cout << s.name << " ";
cout << s.age << " ";
cout << s.score << endl;
return 0;
}
示例演示
输入:
Tom 18 95.5
程序执行过程:
| 操作 | 结果 |
|---|---|
| 输入姓名 | s.name = "Tom" |
| 输入年龄 | s.age = 18 |
| 输入成绩 | s.score = 95.5 |
| 输出信息 | Tom 18 95.5 |
输出:
Tom 18 95.5
结构体数组
基本思想
如果有多个学生,可以使用结构体数组保存。
例如:
Student stu[100];
表示最多可以保存 100 个学生的信息。
代码实现:输入 n 个学生信息并输出
#include <iostream>
#include <string>
using namespace std;
struct Student {
string name;
int age;
double score;
};
int main() {
int n;
cin >> n; // 输入学生人数
Student stu[100]; // 结构体数组
for (int i = 1; i <= n; i++) { // 下标从1开始输入
cin >> stu[i].name;
cin >> stu[i].age;
cin >> stu[i].score;
}
for (int i = 1; i <= n; i++) { // 输出学生信息
cout << stu[i].name << " ";
cout << stu[i].age << " ";
cout << stu[i].score << endl;
}
return 0;
}
示例演示
输入:
3
Tom 18 95.5
Jack 17 88
Lucy 19 92
存储结果:
| 下标 | 姓名 | 年龄 | 成绩 |
|---|---|---|---|
| stu[1] | Tom | 18 | 95.5 |
| stu[2] | Jack | 17 | 88 |
| stu[3] | Lucy | 19 | 92 |
输出:
Tom 18 95.5
Jack 17 88
Lucy 19 92
这里空空如也

















有帮助,赞一个