Discussione: [C] realloc e funzione
View Single Post
Old 27-02-2008, 10:39   #3
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
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);
cionci è offline   Rispondi citando il messaggio o parte di esso