История изменений
Исправление DiKeert, (текущая версия) :
Тут тебе много что сказали по поводу глобальной переменной, но есть вариант оставить глобальную переменную и при этом разрулить к ней доступ. Сделай функции для работы с этой переменной - получения значения и апдейта этого значения. Напиши в них логику, может быть когда-то стоит запрещать изменять значение. Вынеси сигнатуры функций в заголовочный файл, а реализацию - в отдельный c-файл, а саму переменную сделай в нем глобальной, но при этом static. Тогда она будет локальна для этого С-файла. Обращайся к ней в любом месте через созданные функции, достаточно будет сделать #include этого заголовочного файла. Ну да, с объектным файлом, результатом компиляции этого отдельного C-файла тебе все остальное придется линковать.
Исходная версия DiKeert, :
Совет от человека с ООП головного мозга
Тут тебе много что сказали по поводу глобальной переменной, но есть вариант оставить глобальную переменную и при этом разрулить к ней доступ. Сделай функции для работы с этой переменной - получения значения и апдейта этого значения. Напиши в них логику, может быть когда-то стоит запрещать изменять значение. Вынеси сигнатуры функций в заголовочный файл, а реализацию - в отдельный c-файл, а саму переменную сделай в нем глобальной, но при этом static. Тогда она будет локальна для этого С-файла. Обращайся к ней в любом месте через созданные функции, достаточно будет сделать #include этого заголовочного файла.