访问存储在联合成员中的位模式,并根据访问成员时所用的成员类型解释值。
类型 |
对齐边界 |
字节对齐 |
---|---|---|
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) |
内部填充结构成员,以便各个元素在适当的边界上对齐。
结构的对齐与其更严格对齐的成员相同。例如,只包含 char 数据的 struct 无对齐限制,而包含 double 数据的 struct 将按 8 字节边界对齐。
视为 unsigned int。
在存储单元中从高阶到低阶分配位字段。
位字段不可以跨存储单元边界。
这是 int。