(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