Чтобы переменная была видна из другого модуля, там (в другом модуле) она должна быть объявлена с квалификатором extern.
Тогда компилятор не обращает на неё внимания, зная, что она размещена где-то в другом месте.
Другими словами:
В module.с определяете переменную, а в module.h повторяете определение, но с extern.
Во внешнем модуле подключаете #include module.h
Насчёт букварей всё правильно, зря обижаетесь.
Цитата(Lexy_one @ Jul 4 2011, 19:02)

да .. и фиктивно использовать ее в файле где она объявлена нет необходимости и не хочется (хотя это и помогает)?

это как? Поясните.
И ошибку покажите конкретно, а не "типа не объявлена".
variable not defined или всё-таки undefined reference?
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)