Ciao a tutti,
ho un problema a rimuovere elementi da un lista. Spero qualcuno possa chiarirmi le idee
Mi sono dichiarato la seguente struct:
codice:
struct pippo
{
     int i;
     struct pippo *next; // punta al prossimo elemento
};

typedef struct pippo Pippo;
Mi sono poi dichiarato il seguente array di 3 elementi che sono puntatori a struct tipo Pippo:
codice:
Pippo *array[3];
Ho una funzione che aggiunge correttamente (testata) elementi nella lista, per es. creo una lista di 3 elementi con root array[0].
E' corretta la seguente funzione per rimuovere il primo elemento della lista?
codice:
Pippo *eliminaPrimo (Pippo *elem) //elimina il primo elemento della lista???
{
	Pippo *aux;

	aux = elem;
	elem = elem->next;
	aux->next = NULL;
	free (aux);
	return elem;
}
Ringrazio anticipatamente