c++二维数组初始化memset
时间: 2023-10-19 16:26:09 浏览: 286
二维数组可以通过 `memset` 函数进行初始化,但是需要注意的是 `memset` 函数是按字节进行赋值的,对于非字符类型的数组可能会导致错误的结果。
下面是一个使用 `memset` 初始化二维数组的示例代码:
```c
#include <stdio.h>
#include <string.h>
#define ROWS 3
#define COLS 4
int main() {
int array[ROWS][COLS];
memset(array, 0, sizeof(array)); // 将二维数组所有元素置为0
// 打印二维数组
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
printf("%d ", array[i][j]);
}
printf("\n");
}
return 0;
}
```
在上述示例中,`memset(array, 0, sizeof(array))` 将 `array` 数组的所有元素都设置为0。`sizeof(array)` 可以获取数组 `array` 的总字节数,这样可以确保整个数组都被初始化。
需要注意的是,如果数组中的元素类型是非字符类型(比如 `int`),那么使用 `memset` 可能会导致错误的结果,因为 `memset` 是按字节进行赋值的。对于非字符类型的数组,建议使用循环来初始化每个元素。
阅读全文