溫馨提示×

c++怎么動態(tài)分配二維數(shù)組

c++
小億
89
2023-12-20 06:25:16
欄目: 編程語言

在C++中,動態(tài)分配二維數(shù)組可以使用指針的指針(二級指針)來實(shí)現(xiàn)。以下是一個示例代碼:

#include <iostream>

int main() {
    int rows, cols;

    // 輸入行數(shù)和列數(shù)
    std::cout << "Enter the number of rows: ";
    std::cin >> rows;
    std::cout << "Enter the number of columns: ";
    std::cin >> cols;

    // 動態(tài)分配二維數(shù)組
    int** arr = new int*[rows];  // 創(chuàng)建指向指針的指針,表示行
    for (int i = 0; i < rows; i++) {
        arr[i] = new int[cols];  // 每個指針指向一個數(shù)組,表示列
    }

    // 為二維數(shù)組賦值
    for (int i = 0; i < rows; i++) {
        for (int j = 0; j < cols; j++) {
            arr[i][j] = i + j;
        }
    }

    // 打印二維數(shù)組
    for (int i = 0; i < rows; i++) {
        for (int j = 0; j < cols; j++) {
            std::cout << arr[i][j] << " ";
        }
        std::cout << std::endl;
    }

    // 釋放內(nèi)存
    for (int i = 0; i < rows; i++) {
        delete[] arr[i];
    }
    delete[] arr;

    return 0;
}

該代碼中,首先通過new運(yùn)算符動態(tài)分配了一個指針數(shù)組,表示行。然后,使用循環(huán)為每個指針分配一個數(shù)組,表示列。接下來,為二維數(shù)組賦值,并打印出來。最后,使用delete運(yùn)算符釋放內(nèi)存。

0