Quote Originariamente inviata da Alex'87 Visualizza il messaggio
C'è un errore già all'inizio:

int n_pesi=0
;
pesi=(struct PesiSpecifici*)malloc(n_pesi*sizeof(struct PesiSpecifici));

Non stai allocando lo spazio...

Il resto non l'ho guardato.
C'è una realloc nella funzione per quello.