Quindi se faccio "delete tmp" elimino il nodo a cui punta, non il puntatore, giusto?
Invece che definire un tipo puntatore che punta ad una struct di tipo nodo, potrei dichiarare così la lista?

codice:
typedef struct nodo
{
       int elem;
       nodo *next;
} lista;