数组以两种不同的方式引用

时间:2011-06-18 10:10:19

标签: c

  

可能重复:
  In C arrays why is this true? a[5] == 5[a]

int a[5]={1,2,3,4,5};
int i=4;
printf("%d",i[a]);

为什么[i]和i [a]引用数组中的相同位置?

1 个答案:

答案 0 :(得分:2)

这是因为数组下标是可交换的(它是一个加法),订单可以交换:

a[i] = *(a + i)
i[a] = *(i + a)

*(a + i) = *(i + a)
a[i] = i[a]