. 数组与指针算术的深度结合
. 数组与指针算术的深度结合
- 利用指针算术高效遍历数组:除了常规的指针递增遍历数组,还可以通过指针的加减运算实现跳跃式遍历。比如,要每隔一个元素访问数组,可以这样做:
c
int arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int *p = arr;
for (int i = 0; i < 10; i += 2) {
printf("%d ", *(p + i));
}
- 通过指针偏移量计算元素地址:已知数组首地址和元素相对首地址的偏移量,可快速快速计算出指定元素的地址,而无需通过下标逐个计算。例如,要获取数组 arr 中第 n 个元素的地址,可以用 &arr[0] + n * sizeof(int) (假设 arr 是整型数组)。