Marcel: C - Pointer-Arithmetik Problem

Beitrag lesen

Hi

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).

Dann könntest du auch entsprechenden Speicherplatz allokieren und dir den Zeiger auf eine solche Struktur zurückgeben lassen.

Genau diesen ersten Zeiger erhalte ich(In der theoretischen Aufgabe Vorgegeben) z.B. für 64 MB allozierten Speicher. Danach muss ich diesen mit Hilfe einer linked List verwalten. Der 1. Block soll zeigen ob der Block leer oder besetzt ist und der 2. Block soll den Pointer zum nächst freien Block enthalten...der 3. Block enthält dann die Daten.

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

Es ist in C durchaus möglich Zeiger zu inkrementieren bzw. bitweise zu erhöhen. [1]

Wie? ;-)

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

Du machst es dir einfach zu schwer. Wie um alles in der Welt willst du darauf zugreifen? Du müsstest dir alles auseinanderfriemeln. Mach es dir nicht so schwer und arbeite mit einer ordentlichen und sauberen Struktur.

Wie gesagt, eine theoretische Aufgabe in welcher es darum geht das Speichermanagement zu "simulieren".

Gruss Marcel