Grazie, allora avevo fatto bene, ma senza impostare a null.
Pensavo una cosa: potrebbe essere una buona soluzione impostare tutto il vettore a NULL al momento dell'allocazione, per usare il NULL come termine di confronto per scorrerlo fino alla prima posizione libera(NULL, appunto), e li inserire il nuovo record?
Mi resta però un dubbio sulla sulla FREE: come controllo la riuscita dell'operazione, a parte controllare che il valore interno a quell'indirizzo di memoria sia stato portato a NULL?