変数宣言について

一般的なC言語では変数の宣言は全ての実行文より先に 書かなくてはいけないという決まりがある。つまり、

#include <stdio.h>
int main()
{
  int x;			/* 変数宣言 */
  int y;			/* 変数宣言 */
  printf("こんにちは!\n");	/* ここから実行部 */
}

というプログラムは許されるが、以下のプログラムは構文エラーになる。

#include <stdio.h>
int main()
{
  int x;
  printf("こんにちは!\n");
  int y;  /* 変数宣言が実行文(printf)より後に来ているので× */
}

最新版のC言語処理系(GCC Version 3)は、この誓約が緩和されているので 後者でもエラーにならない。 しかし、ほかのC言語処理系ではエラーになるので、必ず変数宣言はブロッ クの先頭にまとめるように注意して欲しい。


目次