It comes from the shift from Char (on even byte boundary) cFieldType to 1
BYTE (padding) so that wFieldAttribute begins on a WORD boundary. By
default, structs use a packing of 2 (bytes).
-----Original Message-----
From: Garry Chiang [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, December 21, 1999 11:02 PM
To: 'Palm Developers' Forum'
Subject: sizeof question
Hi all,
This seems basic but somehow I got different answer for it:
typedef struct
{
Char cFieldName[16];
Char cFieldType;
Word wFieldAttribute;
Word wFieldLength;
UChar cFieldDecimal;
UChar ucFieldOffset;
} FIELD_DEF;
I sizeof all the structure members and it returns me 23.
sizeof(FIELD_DEF) will return me 24 bytes, instead of 23.
Why is it so? Where does the one extra byte come from?
Thanks,
garry