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?