Salve ho una struttura del tipo:
codice:
structperson {    char name[256];
unsignedint age;
};
tramite la funzione:
codice:
void person_read(FILE *f, structperson* pp);
La funzione accetta come parametro un puntatore ad un file aperto in lettura in
modalità tradotta (testo) e un puntatore a un dato di tipo struct person. La
funzione deve leggere il contenuto del file caricando i dati della persona nella
struttura puntata da pp.
Il file contenente i dati della persona è così strutturato:

<nome persona><spazio><età>

ho fatto in questo modo:
codice:
void person_read(FILE *f, structperson* pp){    int i = 0;
    for (;;){
        pp = (struct person*)realloc(pp, (i + 1)*sizeof(struct person));
            if (fscanf(f, "%s %lu", pp[i].name, &pp[i].age) == 2){
                i++;
            }
            else{
                break;
            }
        }

}
Non capisco perche non va.
grazie.