Cにおけるstatic静的変数の使用
598 ワード
#include
#include
int fun(int a,int b)
{ static int m=1, i=1;
i+=1; m = i+m;
return m;
}
int main()
{
int k=0, m=0, p;
p = fun( k,m ); printf("%d,", p);
p = fun( k,m ); printf("%d " ,p );
p = fun( k,m ); printf("%d,", p);
p = fun( k,m ); printf("%d " ,p );
system("pause");
return 0;
}
static int mを定義すると、iはmとiの値が保存され、呼び出されるたびに変数m,iは前回保存した値が保存されます.
注意すべきはstatic int m=1,i=1である.再度staticは変数mとiに最初の初期値を付与するだけで、その後プログラムが実行され、mとiの値を初期化して再付与することはありません.