Как правильно объявить глобальную переменную в С?

программирование C++

Есть проект, файл с функцией main, есть ещё много файлов .c в одном из них подпрограмма прерывания, которая пишет в глобальную переменную ADCConvertedValue. Эту переменную хочу использовать в других файлах.
Ну я понимаю, самое простое - поставить перед мэйном, но если например у меня функция в отдельном файле, и тогда не будешь же каждый раз при подключении файла к проекту прописывать глобальные переменные в главный файл проекта. Напрашивается решение - запихнуть переменную в заголовочный файл и делать инклюд, но тут у меня почему-то выходят грабли, заголовочник ведь обычно прописывается в одноимённый файл .c и в результате я получаю ошибку:
>identifier 'ADCConvertedValue' redeclared as 'int'
Да, и почему-то если я делаю инклюд перед мэйн, то в других файлах эта переменная не видна, приходится инклюдить во все файлы проекта, которые её юзают.
В общем я вконец запутался, расскажите популярно, как объявить переменную так, чтоб она была видна везде, и чтоб это было культурно, куда писать extern и что должно быть в заголовочнике.


Примечание:
То есть переменную в заголовочнике не надо объявлять?

Примечание:
Спасибо, всё получилось :)
Ответы:
В C++Builder я делал так: в одном файле просто объявляю (например, int d), а в других ссылаюсь (extern int d).
Может, можно как-то лучше сделать, хз.


12 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.