Ciao a tutti,

sto facendo un esercizio per il mio corso di informatica, e mi viene chiesto di riallocare un vettore allocato dinamicamente per aggiungere altri elementi.

codice:
typedef struct
{
    int numero;
    char nome[50];
    int tempo;
} maratoneta;

int aggiungi(maratoneta m, maratoneta* atleti, int n)
{
    atleti = realloc(atleti, sizeof(maratoneta) * (n + 1));
    atleti[n] = m;
    return n + 1;
}

int main()
{
    maratoneta* atleti;
    int num = 0;

    ...
}
Queste sono le sezioni del codice "incriminate". La validità dei dati da aggiungere viene controllata in un'altra sezione.

Il crash si presenta già al primo giro, ovvero quando atleti è ancora NULL e num è ancora 0...

Il peggio è che questo codice l'avevo già fatto un'altra volta e funzionava, ma ovviamente il codice è su un altro pc a cui non ho accesso