¿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.