Ожидание enter может быть когда включена стороквая буферизация ввода, которую возможно через какой-нибудь setvbuf удастся отключить.
Без буферизации если в stdin что-то есть, ожидания не будет и getch просто вернёт первый символ. Ожидание будет когда там ничего нет.
Либо может быть просто через ftell(stdin) возможно выяснить есть ли что-нибудь в буфере stdin, и только тогда звать getch, чтобы он не заблокировался в ожидании ввода. Но опять же при отсутсвии постороковой буферизации.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
вроде как-то так,
но вообще, конечно, лучше так не делать, особенно с кастованием этой структуры обратно в массив...