Hallo,
Hallo
Ich alloziere mit Hilfe von malloc() Speicher. Malloc() gibt mir den Pointer zum allozierten Speicher zurück.
Nun möchte ich den reservierten Speicher in Blocks aufteilen, sodass ich den ersten Block z.B. für ein Integer-Flag, den zweiten Block für eine Pointer-Adresse und den dritten Block für andere Daten nutzen oder noch weiter aufteilen kann.
Wenn Du Dir die Startadresse und die Offsets der jeweiligen Blöcke merkst, dann sollte die ganze Übung kein wirkliches Problem sein. Alternativ kannst Du natürlich die Offset bei jedem Zugriff selbst ermitteln, was zwar Speicherplatz spart, sich aber negativ auf die Geschwindigkeit auswirken wird. Und dann gäbe es ja immer noch Variante bei der Du Dir für jeden Block die Startadresse merkst.
In Deinem Beispiel wird der Variable area zweimal ein Wert zugewiesen. Das solltest Du unterlassen, da Du ja, wenn Du area überschreibst, nicht mehr die Startadresse rekonstruieren kannst.
Grüße
Klaus