É sempre uma boa prática definir ponteiros para NULL após liberá-los ()? [duplicado]

Possível duplicado:
Definindo variável como NULL após o…

Estou aprendendo sobre boas práticas de programação C e meu amigo me disse para sempre definir os ponteiros para NULL depois de liberá-los () (ou chamar uma função de liberação específica).

Por exemplo:

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

ou

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

Por que essa é uma boa prática?

Atualização: Depois de ler as respostas, parece uma prática terrível para mim! Estou ocultando possíveis erros de liberação dupla (). Como isso pode ser uma boa prática? Estou chocado.

Obrigado, Boda Cydo.

questionAnswers(4)

yourAnswerToTheQuestion