Sun Studio 12:C 用户指南

E.1.9.1 (6.3.2.3) A member of a union object is accessed using a member of a different type(使用不同类型的成员访问的联合对象的成员):

访问存储在联合成员中的位模式,并根据访问成员时所用的成员类型解释值。

(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 字节边界对齐。

(6.5.2.1) Whether a plain int bit-field is treated as a signed int bit-field or as an unsigned int bit-field(无格式 int 位字段是视为 signed int 位字段还是视为 unsigned int 位字段处理):

视为 unsigned int

(6.5.2.1) The order of allocation of bit-fields within an int(在 int 中位字段的分配顺序):

在存储单元中从高阶到低阶分配位字段。

(6.5.2.1) Whether a bit-field can straddle a storageunit boundary(位字段是否可以跨存储单元边界):

位字段不可以跨存储单元边界。

(6.5.2.2) The integer type chosen to represent the values of an enumeration type(选择用来表示枚举类型的值的整型):

这是 int