qual è il modo giusto per liberare una memoria allocata dopo l'esecuzione della funzione in C (tramite malloc)? Ho bisogno di allocare memoria, usarla in qualche modo e restituirla, che devo liberarla.Come "free" variabile dopo la fine della funzione?
char* someFunction(char* a, char* b) {
char* result = (char*)malloc(la + 2 * sizeof(char));
...
return result;
}
'char * str = someFunction (a, b) ; useitsomehow (str); free (str); ' –
Bene, questo significa che restituirò il puntatore, che è disponibile per liberare come" str "perché ora è esattamente lo stesso puntatore? – JaxCze
@JaxCze: Sì, anche io non lo chiamerei "esattamente lo stesso puntatore". È una variabile (puntatore) diversa con esattamente lo stesso valore, cioè che punta allo stesso oggetto. –