问题描述:
根据下列代码和结果回答下列问题。
// Created by 黑马程序员.
#include "iostream"
using namespace std;
//结构体定义
struct student
{
//成员列表
string name; //姓名
int age; //年龄
int score; //分数
};
int main() {
system("chcp 65001");
//结构体数组
struct student arr[3]=
{
{"张三",18,80 },
{"李四",19,60 },
{"王五",20,70 }
};
for (int i = 0; i < 3; i++)
{
cout << "姓名:" << arr[i].name << " 年龄:" << arr[i].age << " 分数:" << arr[i].score << endl;
}
system("pause");
return 0;
}
D:\CLion_code\cmake-build-debug\CLion_code.exe
Active code page: 65001
姓名:张三 年龄:18 分数:80
姓名:李四 年龄:19 分数:60
姓名:王五 年龄:20 分数:70
Press any key to continue . . .
请问结构体数组是如何进行定义的呢?结构体数组是如何进行打印输出的呢?
问题解答:
结构体数组的定义
在 C++ 中,结构体数组的定义是通过组合结构体类型和数组语法实现的。具体步骤如下:
-
定义结构体: 首先,需要定义一个结构体,包含所需的成员。例如:
struct student { string name; // 姓名 int age; // 年龄 int score; // 分数 };
-
定义结构体数组: 使用结构体类型和数组的语法定义结构体数组。格式如下:
struct StructName arrayName[arraySize];
在你的代码中,定义结构体数组
arr
为:struct student arr[3] = { {"张三", 18, 80}, {"李四", 19, 60}, {"王五", 20, 70} };
结构体数组的打印输出
要打印结构体数组的内容,可以使用循环遍历数组,并通过点操作符访问每个结构体的成员。以下是打印输出的步骤:
-
使用循环遍历数组: 使用
for
循环遍历数组的每个元素:for (int i = 0; i < 3; i++) { cout << "姓名:" << arr[i].name << " 年龄:" << arr[i].age << " 分数:" << arr[i].score << endl; }
-
访问结构体成员: 在循环中,通过
arr[i].name
、arr[i].age
和arr[i].score
访问当前结构体的各个成员。