C语言中如何利用指针实现数据的逆序

avatar
作者
筋斗云
阅读量:0

在C语言中,可以使用指针来实现数据的逆序。以下是一个简单的示例,展示了如何使用指针对整数数组进行逆序操作:

#include<stdio.h>  void reverse(int *arr, int size) {     int *start = arr;     int *end = arr + size - 1;     int temp;      while (start < end) {         temp = *start;         *start = *end;         *end = temp;          start++;         end--;     } }  int main() {     int arr[] = {1, 2, 3, 4, 5};     int size = sizeof(arr) / sizeof(arr[0]);      printf("Original array: ");     for (int i = 0; i< size; i++) {         printf("%d ", arr[i]);     }     printf("\n");      reverse(arr, size);      printf("Reversed array: ");     for (int i = 0; i< size; i++) {         printf("%d ", arr[i]);     }     printf("\n");      return 0; } 

在这个示例中,我们定义了一个名为reverse的函数,它接受一个整数指针arr和一个整数size作为参数。arr指向要逆序的数组的第一个元素,size表示数组的大小。

reverse函数中,我们使用两个指针startend分别指向数组的开始和结束位置。然后,我们使用一个while循环,当start小于end时,交换startend指向的元素值,并将start向右移动一位,end向左移动一位。这样,我们可以逐步将数组逆序。

main函数中,我们创建了一个整数数组arr,并计算其大小。然后,我们调用reverse函数对数组进行逆序操作。最后,我们打印原始数组和逆序后的数组。