> Первый: "Как выглядит промышленный код?" По задумке выношу реализацию в отдельные функции Промышленный код выглядит, как дерьмо, размазаное по потолку криворукими обезьянами.
> и в main оставляю только общую логику и организацию данных. На
> данном этапе на простых программах это избыточный код, но может быть
> такая привычка даст результаты в будущем?
Результатом будет промышленный код. Писать нужно просто. Чем проще, тем лучше. Чтобы можно было с первого взгляда понять, что ты делаешь. Без углубления в общую логику и организацию данных.
> Второй: "Как правильно учиться?" Где то прочел: пока не знаешь как устроенны
> и работают простые библиотечные функции не используй их, а пиши свои
> реализации". ПОДЧЕРКНУ: совет для стадии обучения. Мне он понравился вот и
> леплю как могу.
Мы поняли.
Обрати внимание, что в моём примере использована только одна библиотечные функция (не считая печати) - strlen. И не написана ни одна новая.
Всё остальное сделано [за кадром] средствами операционной системы.
> Что думаете о выше поставленных вопросах?
Научишься. Попробуй найти книгу https://search.rsl.ru/ru/record/01001496775
И ещё - никогда не используй глобальные переменные.