是什么让这种结构?

时间:2014-02-20 20:13:36

标签: c

这种结构的原因是什么?

int a[10];
int x;
x = 2[a];

我不明白2 [a]是什么。这是C语言的另一种衰老吗?

2 个答案:

答案 0 :(得分:5)

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

注意:+运算符包含可交换属性

答案 1 :(得分:3)

数组下标在C. a[2]中是可交换的,2[a]*(a + 2)是等价的,即编译器生成相同的代码。它有一个C FAQ