いや、そういう理由ではないのだが…。

コンパイルオプション一つでメンバーのオフセットが
容易の変ってしまうことがひとつ。

エンディアンの違うプロセッサに持っていったら
正常に読めない(かもしれない)ことがひとつ。

わかってさえいればこの辺は回避ができるんだけど、
初心者には無理だろうね。