18/06/08 11:25:46.46 .net
今のC言語はちょっと違うが、昔のC言語っていうのは、
関数は宣言してからじゃないと使えなくて、
変数の宣言は関数の頭の方に書くしかなかったんだよ
void foo() {
int i; // OK
int j; // OK
bar(); // NG 先に宣言されてない = この時点では知らないので使えない
int k; // NG 関数の頭じゃないからここで宣言できない
}
foo(); // OK 先に宣言されてるから使える
void bar() {
return 0;
}
それを他の言語は、先に宣言されて無くても
スコープ内で宣言されていればOKにしたほうが
いいんじゃねという考えで改良したんだよ。
Javaはそれを特徴の一つにもしていた