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

C++二维数组的初始化赋值及示例

作者:野牛程序员:2023-07-22 12:12:54 C++阅读 3476

在C++中,可以使用多种方法来初始化和赋值二维数组。以下是几种常见的示例:

  1. 静态初始化:

静态初始化适用于已知数组元素的情况,可以在声明数组时直接赋值。

#include <iostream>

int main() {
    // 定义一个3行4列的二维数组并进行静态初始化
    int twoDArray[3][4] = {
        {1, 2, 3, 4},
        {5, 6, 7, 8},
        {9, 10, 11, 12}
    };

    // 遍历并打印二维数组
    for (int i = 0; i < 3; ++i) {
        for (int j = 0; j < 4; ++j) {
            std::cout << twoDArray[i][j] << " ";
        }
        std::cout << std::endl;
    }

    return 0;
}
  1. 动态初始化:

动态初始化适用于在运行时确定数组元素的值,这要求使用双重循环为每个元素赋值。

#include <iostream>

int main() {
    // 定义一个3行4列的二维数组并进行动态初始化
    int rows = 3;
    int cols = 4;
    int** twoDArray = new int*[rows];
    for (int i = 0; i < rows; ++i) {
        twoDArray[i] = new int[cols];
        for (int j = 0; j < cols; ++j) {
            twoDArray[i][j] = i * cols + j + 1;
        }
    }

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

    // 释放动态分配的内存
    for (int i = 0; i < rows; ++i) {
        delete[] twoDArray[i];
    }
    delete[] twoDArray;

    return 0;
}
  1. 使用std::vector:

C++标准库中的std::vector提供了更方便和安全的二维数组初始化和管理。

#include <iostream>
#include <vector>

int main() {
    // 定义一个3行4列的二维数组并进行初始化
    std::vector<std::vector<int>> twoDArray = {
        {1, 2, 3, 4},
        {5, 6, 7, 8},
        {9, 10, 11, 12}
    };

    // 遍历并打印二维数组
    for (int i = 0; i < twoDArray.size(); ++i) {
        for (int j = 0; j < twoDArray[i].size(); ++j) {
            std::cout << twoDArray[i][j] << " ";
        }
        std::cout << std::endl;
    }

    return 0;
}

使用std::vector时,无需担心内存管理,因为它会在需要时自动释放内存。

以上是三种常见的初始化和赋值二维数组的方法。可以根据具体的需求选择合适的方法。


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

最新推荐

热门点击