スタティック変数(静的変数)とは? – プログラミング用語

Explanation of IT Terms

スタティック変数とは?

プログラミングにおいて、スタティック変数(静的変数)は、コード内で宣言された変数の中でも、特別な役割を持った変数のことを指します。

スタティック変数は、グローバル変数(大域変数)やローカル変数(局所変数)と並び、3つの種類の変数の1つです。グローバル変数は、プログラム全体で共通の変数であり、ローカル変数は、関数内でのみ有効な変数です。

それに対してスタティック変数は、特定の関数内でのみ有効な変数で、同じ関数内で複数回呼び出されてもその値が保持されます。つまり、関数を呼び出すたびに初期化されるローカル変数とは異なり、スタティック変数は関数を呼び出しても常にその値が保持され、次回以降の呼び出し時に利用されます。

スタティック変数の宣言方法

スタティック変数は、通常の変数と同様に宣言することができますが、その前に「static」というキーワードをつけます。

“`c
static int count = 0;
“`

上記のように、変数名の前に「static」をつけて宣言します。これにより、count変数がスタティック変数として宣言されます。

スタティック変数の利用例

スタティック変数は、特定の関数内で複数回呼び出されたときに、以前に保持された値を再利用することができます。例えば、以下のようなコードでは、呼び出されるたびにcount変数がインクリメントされます。

“`c
#include

void func() {
static int count = 0;
count++;
printf(“count: %dn”, count);
}

int main() {
func();
func();
func();
return 0;
}
“`

実行結果は以下のようになります。

“`shell
count: 1
count: 2
count: 3
“`

このように、関数を呼び出すたびに、count変数の値が1ずつ増加していくことが確認できます。

スタティック変数の注意点

スタティック変数は、初期化された時点での値が、プログラムが終了するまで保持されます。そのため、初期化が必要な場合は必ず初期化を行うようにしましょう。

また、スタティック変数は1つの関数内でしか利用できないため、異なる関数内で同じ名前のスタティック変数を定義することができます。ただし、それぞれの関数内で別々のメモリ領域を確保するため、別々の変数として扱われます。

以上のことから、スタティック変数は、プログラムにおいて重要な役割を果たす変数であることが分かります。適切に利用することで、より効果的なプログラムを作成することができるでしょう。

参考記事

参考サイト

合わせて読みたい

【Google Chrome】右クリックで翻訳がでなくなった時の対策方法の決定版