このコードがどのように機能するかを調べるというこのタスクを取得しました。
int array[rows][coloums];
int *pointerArray[rows];
for (int i = 0; i < rows; i++) {
pointerArray[i] = array[i];
for (int j = 0; j < coloums; j++) {
*(pointerArray[i] + j) = 0;
}
}
私が興味を持っているのは*(pointerArray [i] + j)です。要素には両方の方法でアクセスできるので、pointerArray [i] [j]と同じだと思いますが、だれでも教えてください。 *()で実際に起こっていますか?コンパイラは、imがpointerArray [i][j]と同じものを要求していることをどのように知っているのでしょうか。
答えてくれてありがとう!