1. 初识结构体struct
结构体(Structures)是一种用户可以自定义的类型,用来储存结构化的数据并实现一些功能。
结构体定义时必须以struct开头,后面是自定义的结构体名,大括号内部是这个结构体所包含的成员,这些成员可以是常见的任意基本数据类型,各个成员之间用;隔开。
例如一个日期的结构体定义:
1 | struct Date { |
这个结构体中包含了三个成员,可以将年份、月份、天数统一结构化地存储在这个结构体中,方便管理和使用。
结构体和其他数据类型一样,定义好后可以初始化使用,可以在初始化时指定每种成员变量的初始值。
结构体初始化同样需要以struct开头,后面是想要初始化的结构体名,然后写任意自定义的初始化结构体名称。初始化的各个成员之间用,隔开。
例如日期结构体的初始化:
1 | struct Date today = { 2026, 1, 1 }; |
初始化值的各个成员需要与定义时的成员一一对应。
需要注意的是,只有初始化结构体的时候才可以整体赋值,在非初始化时只能逐个成员赋值,不能整体赋值。
1
2
3
4
5 struct Date today = { 2026, 1, 1 }; // 正确:定义时初始化
struct Date today;
//today = { 2026, 1, 1 }; // 错误:不能这样赋值
today = (struct Date){ 2026, 1, 1 }; // 正确:使用复合字面值赋值

