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

在C/C++中将两个二维数组初始化为零

作者:野牛程序员:2023-07-22 12:04:26 C++阅读 2704

在C/C++中,你可以使用以下方法将两个二维数组初始化为零:

方法1:使用循环

#include <iostream>

const int ROWS = 3; // 定义数组的行数
const int COLS = 4; // 定义数组的列数

int main() {
    int array1[ROWS][COLS] = {0}; // 初始化为零
    int array2[ROWS][COLS] = {};  // 初始化为零(另一种写法)

    // 输出数组1
    std::cout << "Array 1:" << std::endl;
    for (int i = 0; i < ROWS; ++i) {
        for (int j = 0; j < COLS; ++j) {
            std::cout << array1[i][j] << " ";
        }
        std::cout << std::endl;
    }

    // 输出数组2
    std::cout << "Array 2:" << std::endl;
    for (int i = 0; i < ROWS; ++i) {
        for (int j = 0; j < COLS; ++j) {
            std::cout << array2[i][j] << " ";
        }
        std::cout << std::endl;
    }

    return 0;
}

方法2:使用memset函数(仅适用于整型数组)

#include <iostream>
#include <cstring> // 包含cstring头文件

const int ROWS = 3; // 定义数组的行数
const int COLS = 4; // 定义数组的列数

int main() {
    int array1[ROWS][COLS];
    int array2[ROWS][COLS];

    // 使用memset函数将数组初始化为零
    memset(array1, 0, sizeof(array1));
    memset(array2, 0, sizeof(array2));

    // 输出数组1
    std::cout << "Array 1:" << std::endl;
    for (int i = 0; i < ROWS; ++i) {
        for (int j = 0; j < COLS; ++j) {
            std::cout << array1[i][j] << " ";
        }
        std::cout << std::endl;
    }

    // 输出数组2
    std::cout << "Array 2:" << std::endl;
    for (int i = 0; i < ROWS; ++i) {
        for (int j = 0; j < COLS; ++j) {
            std::cout << array2[i][j] << " ";
        }
        std::cout << std::endl;
    }

    return 0;
}

请注意,以上示例中,我使用了两种方法来初始化数组为零。方法1使用循环遍历数组并手动赋值为零,而方法2使用memset函数将数组的内存块全部设置为零。对于大型数组,方法2可能更快,但在使用时需要注意,memset函数仅适用于整型数组(例如int)或字符数组(例如char)等可用于内存块设置的数据类型。


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

最新推荐

热门点击