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! 🤡


Anmelden zum Antworten