访问C中的数组元素

时间:2015-04-14 09:22:30

标签: c++ c arrays

我今天遇到了一种访问数组元素的不同方式。我只是好奇它是否正确访问数组元素。

这是我的代码,

#include <stdio.h>

int main(int argc, char* argv[])
{
    int arr[4] = {4, 5, 6, 7};
    printf ("---> %d \n", 2[arr]);
    return 0;
}

以下是输出

---> 6

我认为该程序不会编译,但确实如此!我试图在Linux和Windows上编译它,它在两者上工作正常。专家对此有何见解?

1 个答案:

答案 0 :(得分:3)

这是有效的,因为表达式a[b]相当于*(a + b),这意味着你可以交换ab的顺序,这个加法并不关心