指针模拟数组负下标

技巧:

令指针变量_arr指向数组arr最后一个元素,即可模拟数组负下标,_arr[-1]即可取数组最后一个元素。

板子:
  1. #include <cstdio>
  2. int main()
  3. {
  4. int arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9 ,10};
  5. int *_arr = arr + 10;
  6. for (auto i = 0; i < 10; ++ i) printf("%d ", arr[i]);
  7. printf("\n");
  8. for (auto i = -1; i >= -10; -- i) printf("%d ", _arr[i]);
  9. return 0;
  10. }