关于Byte类型长度的奇怪问题
我有一个记录类型
TOPHeader = record
HeadFamily: Byte;
Version: Word;
Command:Word;
Sequence: Word;
Num: LongWord;
end;
按道理来讲, SizeOf(TOPHeader ) 应该是11 ,可为什么实际上却是12;
而且使用CopyMemory 将记录buffer中的时候也是在HeadFamily后面多处一个字节,这是为什么呢。难道单字节不能独立存在么?
[解决办法]
正常的
用packed record才是11
[解决办法]
传说中的字节对齐问题.
使用packed record 定义