私はCでプログラミングすることを学び始めたばかりで、ポインターと配列の理解を深めるために、ポインターをまったく作成せずに配列の要素を参照しようとしました:
for(k1 = 0; k1 < ROW; k1++){
for(k2 = 0; k2 < COLUMN; k2++){
array[k1][k2] = k1*COLUMN + k2 + 1;
printf("[%d][%d] = %d\n", k1, k2, *(array[k1] + k2));
}
}
コード全体がコンパイルされ、問題なく実行されます。
大きなソースコード内のすべての単一配列に対してポインターを作成する必要があることは、非常に非効率的であると思われます。
したがって、ポインタを使用して配列のアドレスを保存および取得するのではなく、上記のように、配列のアドレスを直接使用するのは悪いプログラミング習慣ですか?
printf "[%d][%d] = %d\n", k1, k2, array[k1] [k2]));
すると、ポインタの算術演算が回避され、理解しやすくなります。