Ciao.

Mi sono permessa di aprire una nuova discussione, anche se collegata alla precedente, perchč sono riuscita ad arginare il problema e sono riuscita a ricostruire un esempio (semplice) in cui mi si ripropone lo stesso problema...

quando vado ad assegnare il campo weight_tran, vengono modificati i valori del campo items.

Di seguito č riportato l'esempietto...


void main()
{
TRACT *ta;


taset = (TASET*) malloc (sizeof(TASET));
taset->tracts = (TRACT**)malloc(sizeof(TRACT));

ta = (TRACT*)malloc(sizeof(TRACT) +(1) *sizeof(int));
ta->cnt=2;

ta->items[0]=0; ta->items[1]=1;
ta->weight_tran=4.5;

/*ogni volta che assegno un valore a ta->weight_tran vengono modificati alcuni dei valori di tat->items (quelli di posizione 1 e 2: sempre gli stessi)*/

taset->tracts[0]=ta;


}

Qualcuno mi sa spiegare una possibile motivazione.... ????? .....