Ja also die ganze Vorgehensweise ist schon falsch. Wann braucht man das
überhaupt? Bei Embedded meist wenn man Daten physikalisch woanders hin
haben will, sei es in einen Flash-Speicher schreiben oder über eine
Schnittstelle senden. Dann kann man ein Struct nehmen und in einen void
Pointer stopfen und das wird dann übertragen. Hier möchte man keine
Lücken, weil man sonst am anderen Ende die Daten nicht mehr so leicht
zusammenbauen kann.
Aber innerhalb eines Programmes, innerhalb des RAMs so einen Stunt zu
machen ist meist unnötig. Entweder man greift direkt über die Feldnamen
zu, oder man kopiert in diesselbe Struktur an einer anderen
Speicherstelle. In beiden Fällen ist es egal wie die Daten gepackt sind.
Mich würde die konkrete Anwendung interessieren.