neither of the following declarations changes the alignment; gcc forces a 32-byte align: char name[33] __attribute__((aligned(1))); char name[33] __attribute__((packed)); My question is: Is there any way to (mis)align objects larger than 32 byte? I use gcc 2.95.2 on a pentium.