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
}