Marcel: C - Pointer-Arithmetik Problem

Beitrag lesen

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.

Wichtig ist, dass ich später von dem am Anfang von malloc() erhaltenen Pointer wieder zum Integer-Flag oder zum zweiten Block finde (Die grössen sind bekannt).

Ich hab sowas versucht:

  
void* area = malloc( 64*1024*1024 );  
  
//Schreibe 1. Block Integer-Flag  
int flag = 1;  
area = &type;  

Wie kann ich nun in einen 2. Block einen Pointer platzieren?

Wie erhalte ich den Wert des flags (0 oder 1) wieder wenn ich den Pointer zu area gegeben habe?

Gruss Marcel