¿Es siempre una buena práctica establecer punteros en NULL después de liberarlos ()? [duplicar]

Posible duplicado:
Estableciendo variable a NULL después de libre ...

Estoy aprendiendo sobre buenas prácticas de programación en C y mi amigo me dijo que siempre estableciera los punteros en NULL después de liberarlos () (o llamar a una función de liberación específica).

Por ejemplo:

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

o

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

¿Por qué es esta una buena práctica?

Actualización: ¡Después de leer las respuestas, me parece una práctica horrible! Estoy ocultando posibles errores de doble libre (). ¿Cómo puede ser esto una buena práctica? Estoy impactado.

Gracias, Boda Cydo.

Respuestas a la pregunta(4)

Su respuesta a la pregunta