Ist es immer ratsam, Zeiger auf NULL zu setzen, nachdem Sie sie freigegeben haben ()? [Duplikat

Mögliches Duplizieren:
Variable auf NULL setzen, nachdem sie frei ist…

Ich lerne etwas über gute C-Programmierpraktiken und mein Freund sagte mir, ich solle die Zeiger immer auf NULL setzen, nachdem ich sie freigegeben habe (oder eine bestimmte Freigabefunktion aufgerufen habe).

Beispielsweise

char* ptr = malloc(100);
...
free(ptr);
ptr = NULL;

ode

struct graph* graph = create_graph();
...
destroy_graph(graph);
graph = NULL;

Warum ist das eine gute Übung?

Update: Nachdem ich die Antworten gelesen habe, scheint es mir eine schreckliche Übung zu sein! Ich verstecke mögliche double-free () Fehler. Wie kann dies möglicherweise eine gute Praxis sein? Ich bin schockiert

ielen Dank, Boda Cyd

Antworten auf die Frage(8)

Ihre Antwort auf die Frage