更正下面的结构对齐是不好的。
typedef struct{
char *string; // 4 byte (type of address int)
char temp; // 1 byte
short pick; // 2 byte
char temp2; // 1 byte
}hello;
- 字符串 = 4
- temp + pick + temp2(偏移量 7)= 1+2+1
给出的答案,良好的对齐是
char *string; // 4 byte (type of address int)
short pick; // 2 byte
char temp; // 1 byte
char temp2; // 1 byte
- 字符串 = 4
- 选择 + 温度 + temp2(偏移量 7)= 2+1+1
无法理解 temp2 应该位于偏移量 7 而不是 8 的原因。如何?请帮忙