「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

グローバル変数

pointこの用語のポイント

point変数だよ

pointどこからでも使えるよ

スポンサーリンク

簡単に書くよ

グローバル変数(読:グローバルヘンスウ 英:global variable)とは

プログラミングの話で出てくる「変数(値を入れておく箱)」の分類のひとつ
であり

プログラム内のどこからでも使える変数のこと
です。


image piyo

詳しく書くよ

順番に見ていきましょう。
まずは予備知識として「関数」と「変数」について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。

関数は「何かを入れると何かをやって何かを返してくれる、処理のまとまり」です。
一般的には、入力を受けて処理をやり、その結果として出力があります。

グローバル変数

変数は「プログラミング言語における『値を入れておく箱』」です。
処理の途中で値を入れたり、逆に取り出したりできます。

グローバル変数2

以上を踏まえて、本題に入ります。

変数は2種類に分類できます。
それは

1.どこからでも使える変数
2.縄張りの中だけで使える変数


の2つです。

グローバル変数3

この2つの変数のうち

1.どこからでも使える変数

が「グローバル変数」です。

グローバル変数4

あと、ついでなので書いておくと

2.縄張りの中だけで使える変数

は「ローカル変数」と言います。

グローバル変数5

……と、言葉だけで説明されてもピンと来ませんよね。
大丈夫です。
例を挙げて説明します。

例えば、そうですね。
プログラム「piyota」が ありました。

グローバル変数6

プログラム「piyota」の中には変数「g_hensu1」と関数「func1」と関数「func2」があります。

グローバル変数7

関数「func1」の中には変数「l_hensu2」があります。

グローバル変数8

変数「g_hensu1」は関数「func1」の中でも関数「func2」の中でも使えます。
関数「func1」の中で変数「g_hensu1」に値を設定して、関数「func2」の中で変数「g_hensu1」の中身を覗いたりできます。

グローバル変数9

変数「l_hensu2」は関数「func1」の中にある変数です。
関数「func1」の中だけで使えます。
関数「func2」の中では使えません。

グローバル変数10

変数「g_hensu1」と変数「l_hensu2」は、それぞれ

変数「g_hensu1」:どこからでも使える変数
変数「l_hensu2」:縄張りの中だけで使える変数


です。

この2つの変数のうち、どこからでも使える変数「g_hensu1」がグローバル変数です。

グローバル変数11

縄張りの中だけで使える変数「l_hensu2」がローカル変数です。

グローバル変数12

グローバル変数はプログラム内のどこからでも使えます。
とっても便利です……が多用すると、先輩や上司から怒られる可能性大です。
変数は、できるだけローカル変数にしてあげてください。

グローバル変数の方がいろいろ楽チンだし手っ取り早く感じることもあるでしょうけどね。
グローバル変数は

どこからでも値を設定できるので、いつどこで値が書き換えられているか分かりにくい

という弱点があります。

特に複数人で1つのプログラムを作る場合は

1.ピヨ太君が作った関数1でグローバル変数に「1」という値を設定した
2.ピヨ子さんが作った関数2でグローバル変数に「2」という値を設定した
3.ピヨ太君が、グローバル変数に「1」が入っている前提で関数3を作った(けど実際には関数2でグローバル変数の値が「2」に変わっていた)


みたいなことが起こったりするわけです。
そのため、お仕事でプログラムを作るときなんかは「グローバル変数は(できるだけ)使うな!」と言われたりします。


image piyo2

一言でまとめるよ

まぁ「グローバル変数」って単語が出てきたら「どこからでも使える変数(プログラミングにおける値を入れておく箱)なんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像043
書籍画像074

おまけ

■訳してみるよ

「global(グローバル)」の意味は「世界的な」とか「地球規模の」とか「大域的な」とかです。
「変数」は日本語ですね。
何となく くっつけると

大域的な変数

となります。





書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本
ソフトウェア受託現場の「失敗」集めてみた。 42の失敗事例で学ぶ受託開発のうまい進めかた
クイズで学ぶUIデザイン ユーザビリティの基本が身につく50問