静的変数 【static variable】 スタティック変数 / static変数
概要
静的変数(static variable)とは、プログラム中で使用する変数のうち、プログラムの開始から終了まで値が保持され続けるもの。特に、通常は生成と破棄を繰り返す関数やメソッド内部のローカル変数について、同じ内容を維持し付けるよう指定したもの。関数やメソッド、サブルーチンなどのコードブロック(言語によっては制御構文の指定範囲なども)には、その内部でのみ参照・変更できるローカル変数を宣言できるが、ほとんどの言語では通常、関数などの呼び出し時に新たに変数の実体が作り出され、終了時に内容が破棄される。このような運用を自動変数あるいは動的変数などという。
一方、言語によっては関数などの終了時にも変数を破棄せず、プログラムの実行中はずっと内容を維持し続けよう指定できる場合があり、これを静的変数という。メモリ上の領域が固定的に割り当てられ、次回の呼び出し時には前回終了時の値が保持されている。変数宣言に “static” などの修飾子を付加するなどの方法で指定する。
一般的に静的変数という場合は通常の運用では自動変数として処理されるローカル変数などをあえて静的に運用する場合を指し、グローバル変数やクラス変数など、本来の仕様が静的である場合は含まないことが多い。
(2018.11.9更新)