Speicher reservieren
-
Hallo!
Wie reserviere ich Speicherplatz für ein zweidimensionales Array? Und wie gebe ich diesen wieder frei?
Würd mich freuen, wenn mir jemand helfen könnte.
Gruß und Danke
-
ein zweidimensionales Array ist doch ein einfaches Feld, oder? Das müsste dann mit malloc() gehen. Wieder freigeben kannst Du das dann mit free().
Ansonsten schau mal bei http://home.fhtw-berlin.de/docs/kurse/ckurs/ckurs.html, da steht das ziemlich gut beschrieben.
VG, larsen
-
wenn du es 2d haben willst erst ein array von pointern allokieren und dann jeden dieser pointer speicher allokieren... also z.b. in der art
Typ **2darray; 2darray = malloc(sizeof(Typ*)*x); for(i=0;i<x;++i) 2darray[i]=malloc(sizeof(Typ)*y);
freigeben dann genau umgekehrt... also erst in der schleife jedes array einzeln freigeben und dann das pointerarray.. wenn du es mit eine c++-compiler kompilierst wird er vermutlich noch ein cast wollen also in dem fall nicht wundern falls der compiler meckern sollte
-
ok, vielleicht habe ich es mir mit der Antwort doch etwas zu einfach gemacht...
aber grundsätzlich hatte ich recht!