Sun Studio 12:C 用户指南

(6.5.2.1) The padding and alignment of members of structures(结构成员的填充和对齐)。

表 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) 

内部填充结构成员,以便各个元素在适当的边界上对齐。

结构的对齐与其更严格对齐的成员相同。例如,只包含 char 数据的 struct 无对齐限制,而包含 double 数据的 struct 将按 8 字节边界对齐。