(6.5.2.1)The padding and alignment of members of structures.
Table B-5 Padding and Alignment of Structure Members
Type
|
Alignment Boundary
|
Byte Alignment
|
char |
Byte
|
1
|
short |
Halfword
|
2
|
int |
Word
|
4
|
long (SPARC) v8 |
Word
|
4
|
long (SPARC) v9 | Doubleword | 8 |
float (SPARC) |
Word
|
4
|
double (SPARC) |
Doubleword (SPARC)
Word (Intel)
|
8 (SPARC)
4 (Intel)
|
long double (SPARC) v8 |
Doubleword (SPARC)
Word (Intel)
|
8 (SPARC)
4 (Intel)
|
long double (SPARC) v9 | Quadword | 16 |
pointer (SPARC) v8 |
Word
|
4
|
pointer (SPARC) v9 | Quadword | 8 |
long long [Not available in -Xc mode.] |
Doubleword (SPARC)
Word (Intel)
|
8 (SPARC)
4 (Intel)
|
Structure members are padded internally, so that every element is aligned on the appropriate boundary.
Alignment of structures is the same as its more strictly aligned member. For example, a struct with only chars has no alignment restrictions, whereas a struct containing a double would be aligned on an 8-byte boundary.