Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 如果数组名放在方括号中怎么办?_Arrays_C - Fatal编程技术网

Arrays 如果数组名放在方括号中怎么办?

Arrays 如果数组名放在方括号中怎么办?,arrays,c,Arrays,C,我看到了这样一段C代码: int main() { static int a[] = {7,8,9}; printf("%d", 2[a] + a[2]);; return 0; } 这里的2[a]是什么意思?a[b]和b[a]在C中是100%等价的。你所拥有的是一种非常单一的书写方式a[2] 通过更完整的解释,数组下标表示法a[b]也100%等同于*(a+b),这可能会使其双向工作的原因更清楚。如果a和b是表达式,那么通常a[b]并不等同

我看到了这样一段C代码:

int main()
{
    static int a[] = {7,8,9};
    printf("%d", 2[a] + a[2]);;
    
    return 0;
}

这里的
2[a]
是什么意思?

a[b]
b[a]
在C中是100%等价的。你所拥有的是一种非常单一的书写方式
a[2]


通过更完整的解释,数组下标表示法
a[b]
也100%等同于
*(a+b)
,这可能会使其双向工作的原因更清楚。

如果a和b是表达式,那么通常a[b]并不等同于b[a]。