機能 |
記憶クラス指定子の一つで、静的記憶期間を表す。 静的記憶期間とは、プログラム開始直前に領域を確保しプログラムが終了するまで解放されないことを表す。 ただし、有効範囲は内部結合(ブロック内またはファイル内)のみで、externによるアクセスはできない。 |
---|---|
定義 | static [宣言指定子]option 識別名 ; |
実装例 |
#include <stdio.h> int main(void) { static int a; /* staticを指定した変数の宣言 */ int i; for (i=0; i<5; i++) { /* ブロック内を5回繰り返す */ static int b = 0; /* 有効範囲はブロック{ }の間 */ /* 初期値は0 */ b = b + 1; /* bに1を加算する */ printf("b=%d\n", b); /* bの値を表示 */ } /* ブロックを抜けてもbは解放されない */ return 0; } |
実行結果 |
b=1 b=2 b=3 b=4 b=5 |
static