Was ist der richtige Weg, um einen zugewiesenen Speicher nach der Ausführung der Funktion in C (über malloc) freizugeben? Ich muss Speicher zuweisen, irgendwie verwenden und zurückgeben, als ich es freigeben muss.Wie "frei" Variable nach Ende der Funktion?
char* someFunction(char* a, char* b) {
char* result = (char*)malloc(la + 2 * sizeof(char));
...
return result;
}
'char * str = Funktion (a, b) ; benutztsomehow (str); free (str); ' –
Nun, das bedeutet, dass ich den Zeiger zurückgeben werde, der frei ist als" str ", weil es jetzt genau der gleiche Zeiger ist? – JaxCze
@JaxCze: Ja, ich würde es auch nicht "genau den gleichen Zeiger" nennen. Es ist eine andere (Zeiger-) Variable mit genau demselben Wert, d. H. Zeigt auf dasselbe Objekt. –