Steven Jenkins
9/11/2003 3:26:00 AM
Tim Hunter wrote:
> A compiler is free to align a structure on a boundary that is stricter
> than that required by its members. For example, a structure with an int as
> its first member may be aligned on a dword boundary, if that makes it
> easier to generate code for accessing the structure elements. (Consider
> the needs of arrays of structures allocated from the heap.)
Correct. ISO C further guarantees that a pointer to a structure may be
coerced to a pointer to its first element.
> Also a compiler is free to add padding between structure elements as it
> sees fit.
Correct. By the above guarantee, no padding can occur before the first
element.
> For "something in writing" check the ANSI standard.
For the pedantically-inclined, ISO/IEC 9899. But K&R 2nd edition deals
with this adequately in Appendix A.
Steve