Вы можете объявить глобальную переменную в заголовочном файле как extern
, а затем определить ее в кодовом модуле (то есть в файле ".c"). Таким образом, вы не получите множество ошибок определения, выдаваемых компоновщиком.
Так, например, в вашем заголовочном файле глобально доступное int
с именем my_global_var
будет иметь объявление в файле .h, которое выглядит следующим образом:
extern int my_global_var;
Тогда внутри одного файла .c где-то вы определяете и инициализируете его:
int my_global_var = 0;
Теперь вы можете использовать my_global_var
в любом другом модуле кода, который включает соответствующий заголовочный файл и ссылки на соответствующий файл .c, содержащий определение глобальной переменной.