多次元配列におけるCの奇妙な配列構文

私はこれが本当であることを知っていた:

x[4] == 4[x]

多次元配列に相当するものは何ですか?次のことは本当ですか?

x[4][3] == 3[x[4]] == 3[4[x]]
ベストアンサー

x[y] is defined as *(x + (y))

x[y][z] would become *(*(x + (y)) +
z)

x[y[z]] would become *(x + (*(y +
(z))))


x[4][3] would become *(*(x + (4)) + 3)
would become *(*(x + 4) + 3)

3[x[4]] would become *(3 + (*(x +
(4))))
would become *(*(x + 4) + 3)

3[4[x]] would become *(3 + (*(4 +
(x))))
would become *(*(x + 4) + 3)

つまり、それらはすべて同等です。

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です