基本的なことなんだけど、調べても書いてないのでお聞きします。

main関数と他の関数を別のファイルに分けた場合(それぞれファイル1、ファイル2とする)、
ファイル1で定義したグローバル変数を、ファイル2に書かれた関数で使うことって
できなんですか? エラーが出るもので。
ファイル2にも同じグローバル変数を定義するとコンパイルは通るのですが、
これって二度定義してるようでなんか気持ち悪い…。