Sun Studio 12 Update 1: C ユーザーズガイド

(6.5.2.1) 構造体のメンバーのパディングと整列条件

表 E–5 構造体メンバーのパディングと整列

型  

整合の境界  

バイト境界  

char

バイト 

short

ハーフワード 

int

ワード 

long (SPARC) v8

ワード 

long (SPARC) v9

ダブルワード 

float (SPARC)

ワード 

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

ワード 

pointer (SPARC) v9

クワドワード 

long long

ダブルワード (SPARC)  

ワード (x86) 

8 (SPARC)  

4 (x86) 

各要素が適切な境界上に並ぶように、構造体のメンバーが自動的に埋め込まれます。

構造体自身の整列条件はそのメンバーの整列条件と同一です。たとえば、chars 型だけの struct は整列の制限はありませんが、double 型を含む struct は 8 バイトの境界上に並びます。