Ho una struttura del tipo:

typedef struct lista {
char word[100]; /* Parola di lunghezza 100 */
int occorrenza; /* Occorrenza della parola */
struct lista *next; /* Puntatore all'elemento successivo */

} lista;


Il mio problema nasce quando devo creare una variabile di comodo per effettuare delle varie operazioni...

Es.

lista *key; /* Var di comodo */

key = elenco /* Copia di un elemento della lista */

Ma quando alla fine della funzione devo "liberare" la memoria logicamente perdo il puntatore che mi ero copiato!!! Ma questo nn deve succedere altrimenti addio lista!!! ^^

Sicuramente sbaglio qua: "key = elenco"!!!

Allora qual'è la soluzione???


N.b. la var "key" lo allocata con calloc/malloc!!!