结构体:将一些现实对象抽象成一种数据类型
定义一个结构体类型:
struct 结构体类型名
{
成员数据// 变量形式定义的
//成员变量
};
eg:
struct student
{
char name[20];
int sno;
int age;
float score;
}; 结构体类型 --- 描述学生信息的
定义变量:struct student s; 定义了一个 学生这种类型 的变量
结构体初始化:struct student s = {"Tom",110,18,98.5}; 挨个成员初始化,每个成员之间用逗号隔开
引用结构体变量:结构体变量名.成员变量名,访问到这个成员,如:s.name //访问s中name
注意:结构体传参时,一般都设计成指针形式;访问结构体成员:结构体类型变量.成员变量,结构体类型的指针->成员变量
内存对齐:内存地址的对齐
结构体的对齐规则:32位的平台,如果有超过4字节,按照4字节对齐,如果没有超过4字节的,则按成员变量中最大对齐;64位的平台 ---- 64位平台 整个结构体对齐, 按成员中最大的对齐