关于数组:为什么2 [myArray]有效的C语法?

Why is 2[myArray] valid C syntax?

本问题已经有最佳答案,请猛点这里访问。

复制

In C arrays why is this true? a[5] == 5[a]

给定一个数组

1
 myArray[5] = { 0, 1, 2, 3, 4 };

元素可以访问为

1
 2[myArray]

为什么?当我看到这个表达式时,我想象C试图访问指针"2",但未能添加"myarray"指针增量来取消对该地址的引用。我错过了什么?


在c中,a[b]等于*(a+b)。当然,+操作符是交换的,所以a[b]和b[a]是一样的,和*(b+a)和*(a+b)是一样的。