Ciao a tutti.
Devo fare una funzione per eliminare un elemento in fondo alla lista, ma non ci riesco.

Praticamente io ho una struttura di questo tipo:

codice:
typedef struct nodo{
	int dato;
	struct nodo* next;
}nodo;
Io scorro tutta la lista fino ad arrivare all'ultimo elemento, cioè alla struct che ha next=NULL.

Uso la funzione free per liberare la memoria, ma non so come assegnare al campo del penultimo elemento (next).

Questo è quello che sono riuscito a fare:

codice:
void cancInFondo(nodo *lista)
{
	if(lista!=NULL)
	{
		while(lista->next!=NULL)
			lista = lista->next;
		free(lista);
		*lista=NULL;
	}
}