Ma se omettevo di deallocare p, nella lista l'ultimo nodo lo avevo estratto lo stesso, semplicemente continuavo ad occupare la memoria dell'ultimo nodo, no?
E quando dichiaro tdl=NULL non mi resta occupata lo stesso la memoria?