考虑以下:
int main() {
int a[] = {42, 9001, -1337};
printf("%d, %d\n", a[0], 0[a]);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我以前没有看到0[a],但它的作用似乎与a[0](对于其他数字也同样如此,而不仅仅是对于0)。
这是我的编译器的错(GCC)吗?有关于这种行为的任何文档吗?它有什么目的?
Spi*_*rix 16
a[0]与 相同 与*(a+0)
0[a]相同*(0+a)
我们知道与a+0相同0+a。所以*(a+0)==*(0+a)这意味着a[0]==0[a]。
| 归档时间: |
|
| 查看次数: |
7110 次 |
| 最近记录: |