首页 > 为什么arr[2]和2[arr]结果相同?

为什么arr[2]和2[arr]结果相同?

有如下代码:

int arr[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
printf(“%d”, arr[2]);
printf(“%d”, 2[arr]);

为什么2[arr]也能编译通过,难道这不是错误的语法么?


一个数组告诉你的只有,数组长度跟数组起始地址,然后其他操作好像都是根据指针完成的arr[2] = * (arr + 2) = 2[arr] ,是可以用的,但是不建议你这么使用。

【热门文章】
【热门文章】