【C言語】
今時(C99仕様)のfor文
変数のスコープを狭くすると
コードを読むのが楽になる

(style):The scope of the variable ‘j’ can be reduced.

(スタイル):変数 ‘j’ のスコープを縮小できる。
[(style)variableScope]


■スコープが広い例(非推奨)

void f(int ary[10][20]){
    //変数宣言
    int i;
    int j;
    //変数初期化
    i = 0 ;
    while(i < 10) {//条件判定
        //変数初期化
        j = 0 ; 
        while(j < 20){//条件判定
            ary[i][j] = 0;
            j++;//変数更新
        }
        i++;//変数更新
    }
}
int main(void){
    int ary[10][20];
    f(ary);
}

変数i,jの宣言、初期化、更新が別々の場所で行われているので
大きな関数になると追いかけるのが大変になります。
できるだけ変数の宣言、初期化、更新は局所化しましょう。


■スコープが狭い例(推奨)

void f(int ary[10][20]){
    for(int i=0;i<10;i++){
        for(int j=0;j<20;j++){
            ary[i][j] = 0;
        }
    }
}
int main(void){
    int ary[10][20];
    f(ary);
}

C99仕様のfor文では
変数i,jの宣言、初期化、更新が1行に収められるので
コードを読むのが楽になります。

参考:

関数内の変数は、可能な限りそのスコープを狭めるようにしてください。

https://ttsuki.github.io/styleguide/cppguide.ja.html#Local_Variables