不使用new来创建动态2D数组
创始人
2024-12-29 03:00:35
0

创建动态2D数组的一种方法是使用指针数组和动态内存分配。下面是一个示例代码:

#include 

int main() {
    int rows, cols;
    std::cout << "Enter the number of rows: ";
    std::cin >> rows;
    std::cout << "Enter the number of columns: ";
    std::cin >> cols;

    // 创建指针数组
    int** arr = new int*[rows];

    // 分配内存并初始化
    for (int i = 0; i < rows; i++) {
        arr[i] = new int[cols];
        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;
}

这个示例中,我们首先根据用户输入的行数和列数创建了一个指针数组arr,然后使用循环为每个指针分配内存,最后使用嵌套循环初始化数组的值。打印数组之后,我们使用循环释放了分配的内存。

请注意,为了正确释放内存,我们需要先释放每个指针指向的内存,然后再释放指针数组本身的内存。

相关内容

热门资讯

两分钟了解!牌乐门怎么玩包赢,... 两分钟了解!牌乐门怎么玩包赢,德州ai辅助神器可以收费(详细透视辅助黑科技教程);建议优先通过牌乐门...
两分钟了解!拱趴游戏辅助器,红... 两分钟了解!拱趴游戏辅助器,红龙扑克ai(详细透视辅助助手教程);亲们利用一分钟了解精致的软件效果,...
2分钟教学!微信开心十三张辅助... 2分钟教学!微信开心十三张辅助是真是假,德扑网上设置(详细透视辅助工具教程)关于微信开心十三张辅助是...
九分钟攻略!17麻将大菠萝胜率... 九分钟攻略!17麻将大菠萝胜率规律,wopoker真的有挂(详细透视辅助黑科技教程);(需添加指定薇...
五分钟介绍!皮皮四川麻将有挂没... 1、五分钟介绍!皮皮四川麻将有挂没有,poker软件免费(详细透视辅助app教程)。2、皮皮四川麻将...
四分钟教程!奈曼麻将有挂吗,w... 四分钟教程!奈曼麻将有挂吗,wpk微扑克辅助透视(详细透视辅助助手教程)1、每一步都需要思考,不同水...
9分钟技巧!欢乐情怀软件使用方... 9分钟技巧!欢乐情怀软件使用方法,红龙扑克辅助工具(详细透视辅助神器教程);科技安装教程;13670...
一分钟详情!jj斗地主透视神器... 1、一分钟详情!jj斗地主透视神器,德扑网上设置(详细透视辅助挂教程)2、进入游戏-大厅左侧-新手福...
一分钟详情!阳光岛牌乐汇辅助工... 一分钟详情!阳光岛牌乐汇辅助工具,云扑克有辅助软件(详细透视辅助工具教程)阳光岛牌乐汇辅助工具平台为...
5分钟规律!开心联盟牛牛怎样胜... 5分钟规律!开心联盟牛牛怎样胜率高,cloud辅助(详细透视辅助挂教程)相信很多朋友都在电脑上玩过开...