sì, giusta osservazione!
E' ke molto spesso si usa farlo una volta liberato lo spazio di reimpostare il puntatore a NULL in modo da evitare errori di semantica...
metti per esempio che per sbaglio successivamente tenti di leggere/scrivere un dato cancellato sfruttando quel puntatore. Questo ti punterebbe ad una zona non allocata, generando errori che il C non ti avvisa...
Inoltre impostando a NULL è più facile verificare che la lista, albero, o cos'altro sia esista/non esista...
il controllo diverebbe banalmente un

if(p==NULL) <è vuota>