将文件加载到结构中



我有这个作为我的基本代码。

struct TABLE
{
unsigned char a[2];
unsigned char b[8];
unsigned short c;
};

描述这一点的最好方法是,我可以成功地从文件中读取数据并将数据放入&TABLE中。我已经阅读了这里的数据,一切都很好。

然而,

&TABLE.a = 0x0000FF00
&TABLE.b = 0x0000FF03
&TABLE.c = 0x0000FF0C

&TABLE.c应该是0x0000FF0B.

真正有趣的是如果我把b从[8]改成[7]。Table.c返回0x0000FF0A

这里的逻辑是什么?

需要的是

__attributes__ ((packed))

感谢大家和提到对齐的人,这样我就可以继续读下去了。:)

最新更新