sizeof总结——很全面的sizeof用法结果_编译器

sizeof总结——很全面的sizeof用法结果_编译器_02

 

注意struct里面的字节对齐

以及下方的数据对齐的概念

sizeof总结——很全面的sizeof用法结果_字节对齐_03

 

 

结构体字节对齐

sizeof总结——很全面的sizeof用法结果_编译器_04

下面的解释就很骚了

首先是硬件电路的解释

sizeof总结——很全面的sizeof用法结果_字节对齐_05

从软件方面的编译器来看,

sizeof总结——很全面的sizeof用法结果_字节对齐_06

 

举例子,两种比较典型的eg

sizeof总结——很全面的sizeof用法结果_字节对齐_07

sizeof总结——很全面的sizeof用法结果_硬件电路_08

求一下:

sizeof总结——很全面的sizeof用法结果_字节对齐_09

sizeof总结——很全面的sizeof用法结果_字节对齐_10

sizeof总结——很全面的sizeof用法结果_硬件电路_11

sizeof总结——很全面的sizeof用法结果_编译器_12

 

但是也有例外,还有禁止对齐调整的

sizeof总结——很全面的sizeof用法结果_编译器_13

用处:

1)结构体需要被直接写入文件

2)这个结构需要通过网络传给其它程序