标签: 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”指针增量来取消引用该地址。我错过了什么?
答案 0 :(得分:17)
在C中,a [b]相当于*(a + b)。当然,+运算符是可交换的,因此a [b]与b [a]相同,*(b + a)与*(a + b)相同。