Originariamente inviato da Smoke666
C'è differenza tra "pulire" e deallocare una zona di memoria. Se a te interessa "resettare" l'array di numeri creati, inserendo ad esempio un valore che non può essere gerato per indicarti che quella posizione è libera, devi fare un ciclo e assegnare il valore voluto ad ogni elemento dell'array:

for(i=0; i<lunghezzaArray; i++)
array[i] = -1;

Se vuoi deallocare invece l'array, fai:
free(array);
array = NULL;


C'è molta differenza tra le due operazioni. Con la prima non perdi l'area di memoria puntata da array, con la seconda liberi la memoria che precedentemente avevi riservato con la malloc. Tu cosa devi fare di preciso?
A me serviva teoricamente che l'array "doppio" con dentro n numeri, a un certo punto tornasse come nuovo, cioè senza nessun valore al suo interno.
Avevo pensato anche io di fare un ciclo, però avevo pensato a inserire in ogni cella lo 0, e questo sarebbe stato un problema; non avevo pensato di mettere un numero negativo, con quello dovrebbe funzionare..
GRAZIE, mi sei stato di grande aiuto!