一般的な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言語処理系ではエラーになるので、必ず変数宣言はブロッ クの先頭にまとめるように注意して欲しい。