为什么2 [myArray]有效的C语法?

时间:2009-05-11 15:40:09

标签: c arrays syntax pointers

复制

  

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


给定数组

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

元素可以作为

访问
 2[myArray]

为什么呢?当我看到这个表达式时,我想象C试图访问指针“2”并且未能添加“myArray”指针增量来取消引用该地址。我错过了什么?

1 个答案:

答案 0 :(得分:17)

在C中,a [b]相当于*(a + b)。当然,+运算符是可交换的,因此a [b]与b [a]相同,*(b + a)与*(a + b)相同。