考虑下面的程序。
int main( )
{
int arr[2] = {0,1};
printf("First Element = %d\n",arr[0]);
getchar();
return 0;
}
很简单的程序..呵呵…输出将为0。
现在,如果将arr [0]替换为0 [arr] ,则输出将相同。因为编译器在访问数组元素之前会先在指针中转换数组操作。
例如arr [0]将是*(arr + 0) ,因此0 [arr]将是*(0 + arr),并且您知道*(arr + 0)和*(0 + arr)都是相同的。
想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。