Dunque... Inizio col codice, semplice semplice e ridotto all'osso (al punto dove crasha ovviamente :D)
int main(int argc, char *argv[]){
int* prova = malloc (sizeof(int));
int provaIndex;
for (provaIndex = 0; provaIndex < 10; provaIndex++){
prova[provaIndex] = 1;
prova = realloc(prova, (provaIndex + 1) * sizeof(int));
}
}
So che la realloc andrebbe usata con un temp (ma il punto non è quello, crasha lo stesso e per semplicità l'ho assegnata direttamente a "prova").
Ovviamente potrei passare alla malloc iniziale "10 * sizeof(int)" al posto di "sizeof(int)" ma io ho bisogno di capire perchè la realloc mi dà questo errore (nel mio codice non so quanti elementi dovrò inserire)
Le cose che più mi inquietano sono 2:
1) Crasha all'ottava iterazione O_O
2) Lo stesso codice senza "prova[provaIndex] = 1;" non crasha
Come mai?
Grazie delle risposte...