溫馨提示×

c語言二維數組轉一維數組怎么實現

小億
279
2023-11-29 16:30:29
欄目: 編程語言

在C語言中,可以通過循環遍歷二維數組,將每個元素逐個存儲到一維數組中來實現二維數組轉一維數組的操作。具體實現如下:

#include <stdio.h>

void convert2DTo1D(int arr[][3], int row, int col, int *result) {
    int k = 0;
    for (int i = 0; i < row; i++) {
        for (int j = 0; j < col; j++) {
            result[k++] = arr[i][j];
        }
    }
}

int main() {
    int arr2D[2][3] = {{1, 2, 3}, {4, 5, 6}};
    int row = sizeof(arr2D) / sizeof(arr2D[0]);
    int col = sizeof(arr2D[0]) / sizeof(arr2D[0][0]);
    int size = row * col;

    int arr1D[size];
    convert2DTo1D(arr2D, row, col, arr1D);

    for (int i = 0; i < size; i++) {
        printf("%d ", arr1D[i]);
    }
    printf("\n");

    return 0;
}

在上面的代碼中,convert2DTo1D函數接收一個二維數組、行數、列數和一個指向一維數組的指針作為參數。函數內部使用兩個嵌套的循環來遍歷二維數組,并將每個元素依次存儲到一維數組中。

main函數中,先計算出二維數組的行數和列數,然后根據行數和列數計算出一維數組的大小。然后聲明一個一維數組,并調用convert2DTo1D函數將二維數組轉換為一維數組。最后,通過循環遍歷一維數組并打印結果。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女