C言語,static宣言を使用して関数内のデータを保持する

スポンサーリンク

鍛錬 828

C言語,static宣言を使用して関数内のデータを保持する

関数内で宣言した変数について、関数を呼び出す度に変数が初期化されるのを防ぐには、static 宣言を使用します。

static 宣言を使用することにより、プログラムの起動時に変数が静的変数として配置されます。
 
使用方法は、以下に示す通りです。

static 型 変数名;
スポンサーリンク

プログラム

以下は、static 宣言を使用して変数を静的変数として利用しているプログラム、test_static.c です。

今回は、関数 TestFunc() 内にて、変数 num を static として宣言しています。

// include
#include <stdio.h>

// prototype
void TestFunc(void);

// main
int main(void)
{
	int i;
	
	for (i = 0; i < 10; i++) {
		TestFunc();
	}
	
	return 0;
}

void TestFunc(void)
{
	static int num = 0;
	
	printf("%d\n", num);
	num++;
}
スポンサーリンク

実行結果

以下は、プログラム test_static.c を実行しています。

***@ubuntu:~/***/test/c$ 
***@ubuntu:~/***/test/c$ gcc -Wall -Wextra test_static.c -o test_static
***@ubuntu:~/***/test/c$ ./test_static
0
1
2
3
4
5
6
7
8
9

 
上記に示した通り、static 宣言を使用して関数内のデータを保持することができました。

タイトルとURLをコピーしました