型 |
整合の境界 |
バイト境界 |
---|---|---|
char |
バイト |
1 |
short |
ハーフワード |
2 |
int |
ワード |
4 |
long (SPARC) v8 |
ワード |
4 |
long (SPARC) v9 |
ダブルワード |
8 |
float (SPARC) |
ワード |
4 |
double (SPARC) |
ダブルワード (SPARC) ワード (x86) |
8 (SPARC) 4 (x86) |
long double (SPARC) v8 |
ダブルワード (SPARC) ワード (x86) |
8 (SPARC) 4 (x86) |
long double (SPARC) v9 |
クワドワード |
16 |
pointer (SPARC) v8 |
ワード |
4 |
pointer (SPARC) v9 |
クワドワード |
8 |
long long |
ダブルワード (SPARC) ワード (x86) |
8 (SPARC) 4 (x86) |
各要素が適切な境界上に並ぶように、構造体のメンバーが自動的に埋め込まれます。
構造体自身の整列条件はそのメンバーの整列条件と同一です。たとえば、chars 型だけの struct は整列の制限はありませんが、double 型を含む struct は 8 バイトの境界上に並びます。