Nella mia azienda esiste una regola di codifica che dice che, dopo aver liberato la memoria, reimpostare la variabile su NULL. Per esempio ...
void some_func ()
{
int *nPtr;
nPtr = malloc (100);
free (nPtr);
nPtr = NULL;
return;
}
Sento che, in casi come il codice mostrato sopra, l'impostazione su NULLnon ha alcun significato. Oppure mi sfugge qualcosa?
Se in questi casi non ha senso, lo affronterò con il "team di qualità" per rimuovere questa regola di codifica. Per favore, consiglio.
ptr == NULLprima di fare qualcosa con esso. Se non annulli i puntatori gratuiti, otterrai un puntatoreptr != NULLancora inutilizzabile.