Beh dato che ogni elemento contiene un puntatore all'elemento successivo (una sorta di lista concatenata) quello che ti conviene fare e' di definirti una funziona ricorsiva del tipo.Originariamente inviato da moles
typedef struct termine {
float coeff;
int esponente;
struct termine *next;
} Termine, *Polinomio;
Dovrebbe andare bene, cmq se vedi che c'è qualche errore(non credo) sappi che deve essere una funzione ricorsiva che arriva all'ultimo elemento del Polinomio e quando non ci sono altri termini allora comincia a tornare indietro.codice:void libera_memoria(Polinomio*p) { if(p->next==NULL) return; else { libera_memoria(p->next); free(p->next); } }