ti ringrazio, quindi supponiamo una cosa di questo tipo:

codice:
int *prova=(int) malloc(sizeof int*20);

/*
faccio un po di operazioni su *prova, mi accorgo che non mi basta
*/

prova = (int)realloc(prova,sizeof(int)*30);


/*
faccio altre operazioni su *prova, ora è troppo grande
*/

prova = (int)realloc(prova,sizeof(int)*15);
tutto questo è corretto?

e i dati presenti nel vettore prova vengono mantenuti?

quando rialloco la memoria precedente viene resa disponibile?

grazie nik