Basta prevedere un buffer statico abbastanza capiente (pensi che 4K basteranno per l'input da tastiera ... ? ) e poi copiare l'effettivo input in un array dinamico appositamente allocato.