Большинство возражений, которые я вижу для использования глобальных переменных, имеют смысл, поскольку они относятся к проблемам нескольких потоков, безопасности потоков и т.д.
Но в небольшом, однопоточном, не-ОС, случае, какие у вас возражения? В моем случае я пишу свою встроенную систему в "С", если это имеет значение. Я также являюсь единственным разработчиком продукта.
Почему устранение глобальных переменных улучшит мой код?
(После прочтения нескольких ответов я понимаю, что также должен был указать, что эта система не имеет динамического распределения памяти (например, malloc). Вся память статически распределена во время компиляции.)