如果 arr 是数组指针, 那么以下这种写法就是错误的:
*arr[i] = *arr[i + 1];
C 的编译器会认为上述代码是这样结合的:
*(arr[i]) = *(arr[i + 1]);
正确写法如下:
(*arr)[i] = (*arr)[i + 1];