alve non ho capito bene una cosa.
Usando realloc in questo modo (cioè per diminuire lo spazio allocato
precedentemente con malloc) i dati che avevo salvato nel vettore
restano disponibili ??
E' corretto usare realloc per conservare una parte del vettore e
liberare l' altra ?.
in questo caso non funziona perchè ??

#include <stdio.h>
#include <stdlib.h>

int main() {
int *values = NULL ;
int capacity;
int i = 0;

printf("Inserisci il numero di elementi da creare... ");
scanf("%d",&capacity);

values= (int *)malloc(capacity*sizeof(int));
if(values == NULL){
printf("Memoria non disponibile....");
}

for(i=0;i<capacity;i++){

printf("Inserisci il %d^ elemento : ",i+1);

scanf("%d",&values[i]);
}

printf("Digitare il numero di elementi da mantenere : ");
int nn;
scanf("%d",&nn);

values = (int*)realloc(values,(nn)*sizeof(int));

if(values== NULL){
printf("Memoria non disponibile....");
}
getchar();
getchar();
return 1
}