credo che allocare dinamicamente sia la soluzione migliore
solo che io lo faccio in c++ e ignoro la sintassi c seppur credo sia simile
cmq un ciclo while credo vada bene
magari un do while cosi' quando l'utente desidera terminare l'acquisizione puo' farlo tranquillamente
dentro il ciclo allochi dinamicamente e il gioco è fatto.