質問: 0; j < 1000; j++, pLightness++) { // ...(アドレスを使った操作) } ``` うーん、基礎的な内容の質問なので、「参考書読め」とか「もうちょっと頭使え」という話なのかもしれないですが、どうかご容赦ください。
回答: > > これを0から999のiに対して繰り返すとなると、iが増えるにつれて、アドレスを得るのにかかる時間も増えるとおもいます。 > > > オイラの思いつく限りのすべての処理系において `lightness[i]` の計算時間は O(1) つまり処理時間は `i` の値に関係なく一定です。一定にならないハードウエア・ソフトウエア実装が想像できないです。 `&lightness[i][j]` がすでにあるとき `&lightness[i][j+1]` を求めるに要するコストと `&lightness[i+1][j]` を求めるに要するコストとでは 確かに違いがありますが、アセンブラ命令にして数命令、誤差の範囲です。ポインタ値の計算ののちにアクセスを開始する際のキャッシュのヒットミスペナルティのほうが圧倒的に大っす。