c语言

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

小樊
121
2024-08-27 04:55:14
栏目: 编程语言

在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函数对数组进行逆序操作。最后,我们打印原始数组和逆序后的数组。

0
看了该问题的人还看了