C言語で一次元配列を逆にする方法は何ですか?

C言語で一次元配列を逆転させる方法は、2つのポインタを使用して実現できます。まず、配列の最初を指すポインタを定義し、配列の最後を指すポインタを定義し、それらが指す要素を交換しながら、両方のポインタを移動させ、両方のポインタが出会うまで続けます。以下はサンプルコードです:

#include <stdio.h>

void reverseArray(int arr[], int size) {
    int *start = arr; // 指向数组开头的指针
    int *end = arr + size - 1; // 指向数组末尾的指针
    
    while (start < end) {
        // 交换两个指针所指向的元素
        int temp = *start;
        *start = *end;
        *end = temp;
        
        // 移动两个指针
        start++;
        end--;
    }
}

int main() {
    int arr[] = {1, 2, 3, 4, 5};
    int size = 5;
    
    reverseArray(arr, size);
    
    // 打印逆置后的数组
    for (int i = 0; i < size; i++) {
        printf("%d ", arr[i]);
    }
    
    return 0;
}

上記のコードを実行すると、5 4 3 2 1 が出力され、配列が逆になります。

bannerAds