前回行った『リバーシを作ろう』を振り返って、
まだ解説していなかった部分の説明をしていこうと思います。
今回は変数のスコープ(有効範囲)についてです。
変数とは一度定義すればどこからでも参照できるわけではなく、
参照できる範囲というものがあります。
例えば、下記のようなプログラムを見てみましょう。
-----
void func(){
int value = 0;
}
int main(){
printf( "%d", value )
return 0;
}
-----
上記例はエラーとなります。
変数 value の有効範囲は func() 関数の中のみだからです。
変数は基本的に { } の中で定義されたら、その { } の中でしか利用できないのです。
そこで、リバーシでは table や turn といった、いろんな関数から参照したい変数を
-----
int value = 0;
int main(){
printf( "%d", value )
return 0;
}
-----
というように、 main() 関数の外に記述しました。
こうすることで、value はそのファイル内であれば、
どこからでも参照できる 変数として定義することが出来るのです。
この変数のことを『グローバル変数』と呼びます。