Crayzee Ivan
Mitglied
Moin!
Ich hätte da mal ein Frage: Ich arbeite zur Zeit recht viel mit calloc, realloc usw, und ich weiß, das ich allozierten Speicher wieder freigeben sollte, wenn ich Leaks vermeiden will. Ich weiß auch das ich das mit der free()-Funktion mache.
Jetzt mein Problem: Ich habe eine Funktion, die intern ein variables (also mit den alloc-Funktionen gebasteltes) Array erstellt, und dies am Ende als Funktionsrückgabewert zurückgibt (also, einen Pointer auf das Array). Nur, nach dem return ist ja sense mit der Funktion, wie kann ich den Speicher dann wieder freigeben? Oder muss das gar nicht sein, da der Scope zu Ende ist? Oder reicht es, wenn ich den Pointer, der den Rückgabewert übernimmt "befreie"?
Gruß,
-Crayzee Ivan
Ich hätte da mal ein Frage: Ich arbeite zur Zeit recht viel mit calloc, realloc usw, und ich weiß, das ich allozierten Speicher wieder freigeben sollte, wenn ich Leaks vermeiden will. Ich weiß auch das ich das mit der free()-Funktion mache.
Jetzt mein Problem: Ich habe eine Funktion, die intern ein variables (also mit den alloc-Funktionen gebasteltes) Array erstellt, und dies am Ende als Funktionsrückgabewert zurückgibt (also, einen Pointer auf das Array). Nur, nach dem return ist ja sense mit der Funktion, wie kann ich den Speicher dann wieder freigeben? Oder muss das gar nicht sein, da der Scope zu Ende ist? Oder reicht es, wenn ich den Pointer, der den Rückgabewert übernimmt "befreie"?
Gruß,
-Crayzee Ivan