inoltre volevo sapere un altra cosa...ovvero la cancellazione fisica di una lista di liste...

avendo le 2 liste descritte in precedenza..(o anche altre) si ha:

codice:
p = head;
    while ( p != NULL ) {
          p2 = p->topt;
          while ( p2 != NULL ) {
                pOldT = p2;
                p2 = p2->next;
                free ( pOldT );
          }
          pOldP = p;
          p = p->next;
          free ( pOldP );
    }
potete dirmi se è corretto...perchè ho provato ad implementarlo ma non libera la memoria...ho provato ad aprire il task manager...vedo la memoria allocata...all'avvio del programma la memoria aumenta(nel mio caso di 2mb) ma quando poi faccio eseguire il pezzo di codice postato su...dovrebbe pian piano diminuire...invece termina tutto e nn cambia niente...e solo alla chiusura del programma la memoria si ritorna cm prima...
grazie
Mrx