大域変数
グローバル変数のことだよ
変数だよ
どこからでも使えるよ
簡単に書くよ
大域変数(読:タイイキヘンスウ)とは
「グローバル変数」のこと。
用語の中身としては
プログラミングの話で出てくる「変数
(値を入れておく箱)」の分類のひとつ
であり
プログラム内のどこからでも使える変数のこと
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として「関数」と「変数」について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
関数は「何かを入れると何かをやって何かを返してくれる、処理のまとまり」です。
一般的には、入力を受けて処理をやり、その結果として出力があります。
変数は「プログラミング言語における『値を入れておく箱』」です。
処理の途中で値を入れたり、逆に取り出したりできます。
以上を踏まえて、本題に入ります。
変数は2種類に分類できます。
それは
1.どこからでも使える変数
2.縄張りの中だけで使える変数
の2つです。
この2つの変数のうち
1.どこからでも使える変数
が「大域変数」です。
「グローバル変数」とも呼ばれます……というか個人的には「グローバル変数」という言い方の方が馴染みがあります。
あと、ついでなので書いておくと
2.縄張りの中だけで使える変数
は「局所変数」や「ローカル変数」と言います。
……と、言葉だけで説明されてもピンと来ませんよね。
大丈夫です。
例を挙げて説明します。
※個人的には「グローバル変数」「ローカル変数」という言い方の方が馴染みがあるので、以降は「グローバル変数」「ローカル変数」と表現します。
例えば、そうですね。
プログラム「piyota」が ありました。
プログラム「piyota」の中には変数「g_hensu1」と関数「func1」と関数「func2」があります。
関数「func1」の中には変数「l_hensu2」があります。
変数「g_hensu1」は関数「func1」の中でも関数「func2」の中でも使えます。
関数「func1」の中で変数「g_hensu1」に値を設定して、関数「func2」の中で変数「g_hensu1」の中身を覗いたりできます。
変数「l_hensu2」は関数「func1」の中にある変数です。
関数「func1」の中だけで使えます。
関数「func2」の中では使えません。
変数「g_hensu1」と変数「l_hensu2」は、それぞれ
変数「g_hensu1」:どこからでも使える変数
変数「l_hensu2」:縄張りの中だけで使える変数
です。
この2つの変数のうち、どこからでも使える変数「g_hensu1」がグローバル変数です。
縄張りの中だけで使える変数「l_hensu2」がローカル変数です。
グローバル変数はプログラム内のどこからでも使えます。
とっても便利です……が多用すると、先輩や上司から怒られる可能性大です。
変数は、できるだけローカル変数にしてあげてください。
グローバル変数の方がいろいろ楽チンだし手っ取り早く感じることもあるでしょうけどね。
グローバル変数は
どこからでも値を設定できるので、いつどこで値が書き換えられているか分かりにくい
という弱点があります。
特に複数人で1つのプログラムを作る場合は
1.ピヨ太君が作った関数1でグローバル変数に「1」という値を設定した
2.ピヨ子さんが作った関数2でグローバル変数に「2」という値を設定した
3.ピヨ太君が、グローバル変数に「1」が入っている前提で関数3を作った(けど実際には関数2でグローバル変数の値が「2」に変わっていた)
みたいなことが起こったりするわけです。
そのため、お仕事でプログラムを作るときなんかは「グローバル変数は(できるだけ)使うな!」と言われたりします。
一言でまとめるよ
まぁ「大域変数」って単語が出てきたら「どこからでも使える変数
(プログラミングにおける値を入れておく箱)なんだな~」と お考えください。
おまけ
■検索してみる?






