IT Notes‎ > ‎Programming Language‎ > ‎C and CPP‎ > ‎

C Pointer and Array

代码片段:
int a[5] = {1,2,3,4,5};
printf("%d\n%d\n",a[3],3[a]);
a[3] 的值居然和 3[a] 相同,都是4,真是不可思议,C 数组能这样定义?

谜底揭开:
    在 C 语言中,a[i] = *(a+i)
    所以,a[i] = *(a+i) = *(i+a) = i[a]

有趣哈 :D

参考:我在 CSDN 论坛上的提问
Comments