Moin Rolf,
dein Ansatz mag im konkreten Fall auf einer Intel-CPU funktionieren, aber es ist nicht allgemein anwendbar, weil das Speicherlayout eines komplexen Datentypen in C plattformabhängig ist. Das fängt schon beim Unterschied zwischen Little und Big Endian und hört bei Strings als char-Pointern nicht auf.
Viele Grüße
Robert