C 言語で静的ローカル変数を定義する方法
C言語における静的ローカル変数は、関数内で定義された変数ですが、そのスコープは定義した関数内に限定され、プログラムの実行中ずっとメモリ空間を持ち続けます。静的ローカル変数は「static」キーワードを使用して定義します。
静的なローカル変数の定義形式は次のとおりです。
static 数据类型 变量名;
静的な局所変数の例は次のとおりです。
#include <stdio.h>
void function(){
static int count = 0;
count++;
printf("count: %d\n", count);
}
int main(){
function(); // count: 1
function(); // count: 2
function(); // count: 3
return 0;
}
関数function()では、静的ローカル変数のcountが定義され、初期値は0に設定されています。function()が呼び出されるたびに、静的ローカル変数countの値はインクリメントされ、printfで表示されます。静的ローカル変数のスコープはfunction()に限定されているため、function()が呼び出されるたびに、静的ローカル変数countの値は保持され、初期値にリセットされません。