我知道这是真的:
x[4] == 4[x]
多维数组的等价物是什么?以下是真的吗?
x[4][3] == 3[x[4]] == 3[4[x]]
我知道这是真的:
x[4] == 4[x]
多维数组的等价物是什么?以下是真的吗?
x[4][3] == 3[x[4]] == 3[4[x]]
x[y]
被定义为 *(x + (y))
x[y][z]
会成为 *(*(x + (y)) + z)
x[y[z]]
会成为 *(x + (*(y + (z))))
x[4][3]
会成为 *(*(x + (4)) + 3)
会成为
*(*(x + 4) + 3)
3[x[4]]
会成为 *(3 + (*(x + (4))))
会成为 *(*(x + 4) + 3)
3[4[x]]
会成为 *(3 + (*(4 + (x))))
会成为 *(*(x + 4) + 3)
这意味着它们都是等价的。
是。在每种情况下 x
是一个衰减到指针然后在其上执行指针运算的数组。