1:在代码中有结构体嵌套的方式,又需要获取每个变量的地址。那么需要了解结构体嵌套和单一结构体的一些对齐方面的规则。
2:对于嵌入式的设备来说,对齐很重要,有些cpu不支持不对齐的访问方式,有的cpu支持,只是效率上会降低。
3:arm中默认编译的时候会进行对齐。
规则一:结构体中的第一个成员位置在偏移量0,之后每个变量的偏移量必须是它本身字节数的整数倍。
规则二:如果结构体中嵌套结构体,那么嵌套的结构体的偏移量必须是它最大成员的字节数的整数倍。
规则三:结构体的总偏移量必须是它最大成员字节数的整数倍(包括嵌套的结构体中的最大成员)。