Ciao!!
Uitlizzo una struttura ("tre") formata da diversi campi:
indice: lista
frequenza degli indici: double

Uso una funzione ricorsiva che mi restituisce il risultato in una variabile di tipo struttura "tre".
Tale funzione legge da un'altra struttura dati ("tab")raggiungibile tramite puntatori i dati che mi servono.

Se inizializzo a 0 il campo frequenza (di "tre") tutto funziona,
ma se inizializzo e poi cambio il valore del campo frequenza (con il valore letto e aggiornato da tab) si perdono tutti i valori.

Per allocare "tre" utilizzo la malloc

tat = (TRE*)malloc(sizeof(TATRE) + (n-1) *sizeof(int)
+ n *sizeof(TRE*));

con n che riporta il numero di volte che devo effettuare la lettura dalla struttura tab (se devo leggere 4 dati da tab, la prima volta varrrà 4 poi 3 fino a 0)o in altri termini quanti dati devo aggiungere a indice.

Qualcuno mi sa dare un consiglio che riesca a levarmi da questo pasticcio... ???? ....