C言語を習得する

サンプルプログラム fix.c

(7-4)固定値を持つ変数

グローバル変数でもローカル変数でも固定値を持つ変数を宣言することもできます。 宣言の仕方は初期値を持つ変数とほぼ同じですが、constを付けます。 constを付けますと書き換えできない固定値として扱われ、もし代入しようとするとエラーになります。

#include	

int const s = 1;
int const arr[3] = { 1, 2, 3 };
char * const str = "Hello World";


void main( void )
{
	int	i;

	printf( "s = %d\n", s );
	for( i = 0; i < 3; i++ ) {
		printf( "arr[%d] = %d\n", i, arr[i] );
	}
	printf( "%s\n", str );

/* 以下の行を有効にしますとエラーが出てコンパイルできません。
 * いずれの変数も読み出しだけで書き込みできない(固定値の)変数であることが
 * 確認できると思います。
 */
//	s = 2;
//	arr[1] = 0;
//	str = "error";
}

上記プログラムの実行結果は、

s = 1
arr[0] = 1
arr[1] = 2
arr[2] = 3
Hello World

となります。

なお、補足ですがconstは変数名の直前に書く方が良いようです。 ...と言いますか、constを書く位置によってコンパイラの解釈が異なってくることがあるようです。




ページのTOPへ






メニュー