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

大域変数

pointこの用語のポイント

pointグローバル変数のことだよ

point変数だよ

pointどこからでも使えるよ

スポンサーリンク

簡単に書くよ

大域変数(読:タイイキヘンスウ)とは

「グローバル変数」のこと。
用語の中身としては

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

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


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

一言でまとめるよ

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

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

おまけ

■検索してみる?




書籍画像
わわわ説明術コラム
宣伝だよ
つくって、壊して、直して学ぶ Kubernetes入門
実務で役立つ ログの教科書 基礎知識から収集方法・分析手法・トラブルシューティング・パフォーマンス最適化・機械学習での活用まで
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本【Audible】