Attenzione ad usare realloc all'interno di una funzione eprché il puntatore ritornato da realloc può essere diverso da quello contenuto precedentemente in numbers.
Per tenere aggiornato numbers devi fare così:
Codice:
void f(int **numbers)
{
.....
*numbers = (int*) realloc (*numbers, count * sizeof(int));
}
int *num = (int *) calloc(10, sizeof(int));
f(&num);
oppure:
Codice:
int * f(int *numbers)
{
.....
numbers = (int*) realloc(numbers, count * sizeof(int));
.....
return numbers;
}
int *num = (int *) calloc(10, sizeof(int));
num = f(num);