一般に、ILP32環境とLP64環境とでは、同一サイズの整数、実数であってもアライメントが異なります。IA-32とx86-64においても、【2.2 AMD64/Intel 64への対応】で示したように、32bitより大きな幅を持つスカラー型のアラインメントが変わっています。構造体や共用体では、そのメンバのうちもっともアラインメントの制約の強いものに合わせて大きさやアラインメントが決定されるため、メンバの順序などによってはサイズやアラインメントが大きく変化する可能性があります。 例えば、次の構造体の大きさは、bのアラインメントが異なるために、IA-32では12バイト、x86-64では16バイトとなります。