9.3 嵌套结构体与结构体数组
结构体可以包含另一个结构体,这叫组合。组合能把复杂数据拆成更清楚的小部分。
c
typedef struct {
int year;
int month;
int day;
} Date;
typedef struct {
char name[32];
Date birthday;
int score;
} Student;访问嵌套成员时继续使用 .:
c
Student s = {"Ada", {1815, 12, 10}, 96};
printf("%d\n", s.birthday.year); // 1815把多条记录放进结构体数组,就能像表格一样批量处理:
c
Student class[3] = {
{"Ada", {1815, 12, 10}, 96},
{"Bob", {2000, 1, 1}, 88},
{"Cher", {1999, 5, 9}, 73}
};
for (int i = 0; i < 3; i++) {
printf("%s %d\n", class[i].name, class[i].score);
}Date 这样的结构体还能被多个其他结构体复用,让类型之间的关系更清楚。
正在加载交互实验...
正在加载概念检查...
正在加载本节练习...