変数などの宣言と定義


次は、大域変数の場合の宣言と定義について。 変数の宣言というのは、 「このような変数がありますよ」という役割を果たすもので、 一方、定義というのは実際にその変数を準備する役割を果たします。 C 言語の場合、変数を利用する前にその変数の宣言もしくは定義を行う必要があります。

変数の定義についても、関数の時と同様に考えて良いです。 つまり、プログラム中に定義を行うのは一個所で、 利用する場合はあらかじめ宣言を行うというものです。 外部に公開する変数を header file などにまとめるというのも同じです。

大域変数の定義は、こんな感じ。

int global_var;
/* 初期化とともに int global_var = 0; も可 */
一方、宣言の方は、こんな感じ。
extern int global_var;
/* こちらは初期化は不可 */
外部に公開する変数は、その宣言を header file に書いておきましょう。 外部に公開しない変数の場合は、ファイルの冒頭の方で定義をしておくと 良いでしょう。

ということで、一つの大域変数について、

というのが、お行儀のよい使い方です。

2001.10.29/ Tomio KAMADA: kamada@cs.kobe-u.ac.jp