Im struct scheint es richtig zu funktionieren. Er belegt jedoch trotzem teilweise mehr Bytes. Er scheint die Strukturen auf 4 Bytes zu "Alignen" vermutlich wegen der 32 Bit Struktur des verwendeten Prozessor.
Und ja, ich drehe jedes Byte immer 2 mal um, oder dreimal, bevor ich es ver(sch)wende. Früher zumindest bei den 8 Bittern, jetzt eigentlich weniger der LPC1768 hat ja reichlich RAM.

Hab es nun so probiert:

#pragma pack(push,1)
struct
{
char name[5];
char addr[13];
char plz[5];
} t;
#pragma pack(pop)

Das kann aber unter Umständen zu ineffektiven Code führen, wenn man auf ungrade Adressen innerhalb der Struktur zugreift. Wenn man also genügend Speicher hat, sollte man lieber dem Compiler die Arbeit überlassen,
und pack ganz weglassen, denke ich.
Siro