在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

- 上一篇:C++ 头文件 iomanip
- 下一篇:c++二维数组赋值
