c++

c++怎么动态创建二维数组

小亿
163
2024-01-26 23:30:35
栏目: 编程语言

在C++中,可以使用指针和动态内存分配来动态创建二维数组。以下是一个示例:

#include <iostream>

int main() {
    int rows, cols;
    std::cout << "请输入行数和列数:";
    std::cin >> rows >> cols;

    // 动态分配内存
    int** arr = new int*[rows];
    for (int i = 0; i < rows; i++) {
        arr[i] = new int[cols];
    }

    // 初始化二维数组
    for (int i = 0; i < rows; i++) {
        for (int j = 0; j < cols; j++) {
            arr[i][j] = i * cols + j;
        }
    }

    // 打印二维数组
    for (int i = 0; i < rows; i++) {
        for (int j = 0; j < cols; j++) {
            std::cout << arr[i][j] << " ";
        }
        std::cout << std::endl;
    }

    // 释放内存
    for (int i = 0; i < rows; i++) {
        delete[] arr[i];
    }
    delete[] arr;

    return 0;
}

在此示例中,首先从用户处获取要创建的二维数组的行数和列数。然后,使用new运算符动态分配内存以存储行指针。接下来,使用循环为每行分配内存以存储列数据。然后,可以按照需要使用循环初始化和访问二维数组。最后,必须记得在使用完二维数组后释放动态分配的内存,以防止内存泄漏。

0
看了该问题的人还看了