结构体:
c语言---提供的一种方式,可以让用户自定义数据类型,用于处理复杂的数据类型。
struct 结构体名
{
成员表列
};
构造一个结构体
结构体变量的引用:
方法:
结构体变量名.成员名
. 结构体成员运算符 //表示 从属关系
s.name //表示访问s变量中的 name
声明结构体类型并使用的方式:
1. 方式1
先声明类型 后定义变量
struct student
{
...
};//声明类型
struct student s; //定义变量
内存对齐
结构体对齐规则
结构体的对齐:
结构体的对齐规则: //内存地址的对齐
1.在32位的平台上,默认都是按4字节对齐的。
2.对于成员变量,
各自在自己的自然边界上对齐。
char -- 1字节
short -- 2字节
int -- 4字节
3.如果 成员变量中有比4字节大。
此时 整个结构体按照4字节对齐。
4.如果 成员变量中没有有比4字节大。
此时 整个结构体按照最大的那个成员对齐。
//32位的平台
//如果有超过4字节 ,按照4字节对齐
//如果没有超过4字节的,则按成员变量中最大对齐
//64位的平台
//如果超过4字节的,按照最大的成员对齐
//如果没有超过4字节的,则按成员变量中最大对齐