Zarathustra
2007-07-09, 17:30:53
Ich hoffe es ist verständlich ohne großartig den Hintergrund zu erklären...:rolleyes:
Also folgendes ist zu bewerkstelligen:
Ich habe ein Array aus Strings, die auf 80 Zeichen festgelegt sind, und einen Zeiger darauf:
char data[50][80], *dataptr=&data;
Für dieses muss nun globaler Speicher allokiert werden:
UINT alloc_status = TMP_alloc((size_t) sizeof(data), (void**)&dataptr);
Da im vorliegenden Fall zwischen dem oben genannten Init-Code und zyklischem Code unterschieden wird, muss ich eine global verfügbare UINT-Variable mit dem Zahlenwert der Zieladresse des Data-Zeigers beschreiben, damit im zyklischen Teil auf dieses 2D-Feld zugegriffen werden kann:
memadr = dataptr;
Nun im zyklischen Code:
Jetzt habe ich eigentlich alles nötige um das Zeug wiederzufinden - eine Startadresse und das Format der Daten dort (das 2D-char-Feld).
Aber ich kriegs nicht hin, einen passenden neuen Pointer zu erzeugen und diesem, als seine Zieladresse den in memadr gespeicherten Zahlenwert zuzuweisen! Vielleicht ist das ja ganz einfach und ich denke zu kompliziert...? :confused:
Kann mir vielleicht jemand einen Codeschnipsel geben der da weiterhilft? ;(
Danke schonmal.
Also folgendes ist zu bewerkstelligen:
Ich habe ein Array aus Strings, die auf 80 Zeichen festgelegt sind, und einen Zeiger darauf:
char data[50][80], *dataptr=&data;
Für dieses muss nun globaler Speicher allokiert werden:
UINT alloc_status = TMP_alloc((size_t) sizeof(data), (void**)&dataptr);
Da im vorliegenden Fall zwischen dem oben genannten Init-Code und zyklischem Code unterschieden wird, muss ich eine global verfügbare UINT-Variable mit dem Zahlenwert der Zieladresse des Data-Zeigers beschreiben, damit im zyklischen Teil auf dieses 2D-Feld zugegriffen werden kann:
memadr = dataptr;
Nun im zyklischen Code:
Jetzt habe ich eigentlich alles nötige um das Zeug wiederzufinden - eine Startadresse und das Format der Daten dort (das 2D-char-Feld).
Aber ich kriegs nicht hin, einen passenden neuen Pointer zu erzeugen und diesem, als seine Zieladresse den in memadr gespeicherten Zahlenwert zuzuweisen! Vielleicht ist das ja ganz einfach und ich denke zu kompliziert...? :confused:
Kann mir vielleicht jemand einen Codeschnipsel geben der da weiterhilft? ;(
Danke schonmal.