「分かりそう」で「分からない」でも「分かった」気になれる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つの変数のうち、縄張りの中だけで使える変数「l_hensu2」がローカル変数です。

局所変数11

どこからでも使える変数「g_hensu1」がグローバル変数です。

局所変数12

ここまでの説明がよく分からなかったり細かいことを考えるのが面倒くさい人は

普通の変数がローカル変数

と捉えても かまいません。
有名どころのプログラミング言語であれば(基本的には)普通に宣言した変数はローカル変数になります。

ただし、JavaScriptは例外です。
ご注意ください。

JavaScriptでは先頭に「var」を付けて

var i = 1;

のように書くとローカル変数になります。
何も付けないで

i = 1;

と書くとグローバル変数になります。

ちなみに変数をローカル変数にした方が良いかグローバル変数にした方が良いか迷った場合は、できるだけローカル変数にしてあげてください。

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

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

という弱点があります。

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

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


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


image piyo2

一言でまとめるよ

まぁ「局所変数」って単語が出てきたら「縄張りの中だけで使える変数(プログラミングにおける値を入れておく箱)なんだな~」と お考えください。

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

おまけ

■検索してみる?




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