标签: c
这种结构的原因是什么?
int a[10]; int x; x = 2[a];
我不明白2 [a]是什么。这是C语言的另一种衰老吗?
答案 0 :(得分:5)
是
2[a] = *(2 + a) = *(a + 2) = a[2]
注意:+运算符包含可交换属性
+
答案 1 :(得分:3)
数组下标在C. a[2]中是可交换的,2[a]和*(a + 2)是等价的,即编译器生成相同的代码。它有一个C FAQ。
a[2]
2[a]
*(a + 2)