C言語,ブロックの中でのみ有効な変数を使用する

スポンサーリンク

鍛錬 831

C言語,ブロックの中でのみ有効な変数を使用する

ブロックの中(中括弧{}の中など)でのみ有効な変数を使用するには、ブロックの中で変数を宣言します。

ブロックの中で宣言された変数は、ブロックの外(スコープ外)から参照することはできません。

 
スポンサーリンク

プログラム

以下は、ブロックの中でのみ有効な変数を使用しているプログラム、sample.c です。

今回は挙動を確認するために、ブロックの外と中で同じ変数名「i」を使用しています。

スコープ 変数名 格納されている値
ブロックの外 i 0
ブロックの中 i 123
// include
#include <stdio.h>
#include <string.h>

// main
int main(void)
{
	int i;
	
	i = 0;
	
	if (i == 0) {
		int i;
		i = 123;
		printf("A: i = %d\n", i);
	}
	
	printf("B: i = %d\n", i);
	
	return 0;
}

実行結果

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

***@ubuntu:~/***/test/c$ 
***@ubuntu:~/***/test/c$ gcc -Wall -Wextra sample.c -o sample
***@ubuntu:~/***/test/c$ ./sample
A: i = 123
B: i = 0

 
上記に示した通り、ブロックの中でのみ有効な変数を使用することができました。

スポンサーリンク

シェアする

フォローする