Shammer's Philosophy

My private adversaria

for文のカウンタ宣言

これもやっぱりJavaと違う箇所。Javaでは、


 for( int i = 0 ; i < 100 ; i++ ){
  array[i] = i;
 }


というように、for()の () 内で宣言した変数をそのブロック内で使用できたが
Cではこれができないようだ。そのため、この宣言を外だしにする必要がある。


 int loop;
 for( loop = 0 ; loop < 10 ; loop++ ){
  array[loop] = loop;
 }


もちろん、文法的にはJavaと同じように書ける。しかし、その場合はfor文のブロック内で
そのカウンタ変数を使用できないから実質的にそういうことをする意味があるか不明。
単に回したいだけであればwhileを使えばいいし・・・
booleanと同様に、やっぱりJavaの方がいくらか使いやすくなっている気が。
単に自分がJavaに慣れてしまっているだけだろうか。。。