当前位置:首页 C++ > 正文

c++创建二维数组

作者:野牛程序员:2023-07-22 12:10:00 C++阅读 2762

在C++中创建二维数组可以使用多种方法。以下是两种常用的方法:

  1. 使用数组:

#include <iostream>

int main() {
    const int rows = 3;
    const int cols = 4;

    // 创建一个3行4列的二维数组
    int myArray[rows][cols] = {
        {1, 2, 3, 4},
        {5, 6, 7, 8},
        {9, 10, 11, 12}
    };

    // 访问和输出二维数组的元素
    for (int i = 0; i < rows; ++i) {
        for (int j = 0; j < cols; ++j) {
            std::cout << myArray[i][j] << " ";
        }
        std::cout << std::endl;
    }

    return 0;
}
  1. 使用指针动态分配内存:

#include <iostream>

int main() {
    const int rows = 3;
    const int cols = 4;

    // 动态分配内存创建一个3行4列的二维数组
    int** myArray = new int*[rows];
    for (int i = 0; i < rows; ++i) {
        myArray[i] = new int[cols];
    }

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

    // 访问和输出二维数组的元素
    for (int i = 0; i < rows; ++i) {
        for (int j = 0; j < cols; ++j) {
            std::cout << myArray[i][j] << " ";
        }
        std::cout << std::endl;
    }

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

    return 0;
}

这两种方法各有优缺点。第一种方法使用了静态数组,内存在编译时分配,而第二种方法使用动态数组,内存在运行时分配。如果数组的大小是固定的且不会改变,第一种方法较为简单。但是,如果数组的大小需要在运行时确定,或者需要频繁修改大小,第二种方法更为灵活。需要注意,在使用动态分配的数组后,需要及时释放内存,以避免内存泄漏。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击