数组元素的一种不常见的表示形式

考虑下面的程序。

null

int main( )
{
int arr[2] = {0,1};
printf ( "First Element = %d" ,arr[0]);
getchar ();
return 0;
}


非常简单的程序。。嗯…输出将是0。

现在如果你替换 arr[0] 具有 0[arr] ,输出将是相同的。因为编译器在访问数组元素之前会在指针中转换数组操作。

例如 arr[0] 会是 *(arr+0) 因此0[arr]是 *(0+arr) 你们都知道 *(arr+0) *(0+arr) 都一样。

如果你发现以上文章有任何错误,请写下评论。

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享