Già il primo secondo post è corretto ma ricorda comunque di liberare la memoria quendo non serve più,nessuno ti garantisce che il sistema operativo lo faccia all'uscita del programma (anche se di norma è così).la memoria allocata con malloc va liberata invocando free(puintatore_allocato).edevi liberare sia la memoria per ogni "grappolo" dell'array,sia la emmoria dell'intero array,ed esattamente in questo ordine altrimenti...