使用指针实现数组元素逆序存放
时间: 2023-12-10 21:03:06 浏览: 54
数组逆序存放指针.c
可以通过以下代码实现使用指针实现数组元素逆序存放:
```c
#include <stdio.h>
void reverseArray(int *arr, int len) {
int *p1 = arr;
int *p2 = arr + len - 1;
while (p1 < p2) {
int temp = *p1;
*p1 = *p2;
*p2 = temp;
p1++;
p2--;
}
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int len = sizeof(arr) / sizeof(arr[0]);
printf("Original array: ");
for (int i = 0; i < len; i++) {
printf("%d ", arr[i]);
}
reverseArray(arr, len);
printf("\nReversed array: ");
for (int i = 0; i < len; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
在这个例子中,我们定义了一个 `reverseArray` 函数,它接受一个整型数组和数组长度作为参数,然后使用两个指针 `p1` 和 `p2` 分别指向数组的第一个和最后一个元素。接着,我们交换 `p1` 和 `p2` 指向的值,然后将 `p1` 指针向前移动一个位置,将 `p2` 指针向后移动一个位置,直到 `p1` 指针大于等于 `p2` 指针为止。最后,我们在 `main` 函数中调用 `reverseArray` 函数并输出结果。
阅读全文