c++中int[a];memset(a,1,sizeof(a));这样将a数组初始化为1对吗
时间: 2024-04-15 14:26:27 浏览: 178
C++类的sizeof1
不对。在C++中,数组的初始化不能使用`memset`函数。`memset`函数用于将一块内存的内容全部设置为指定的值,但它只适用于字符类型的数组,无法正确地初始化非字符类型的数组。
要初始化一个整型数组为1,可以使用循环或标准库中的算法。例如,可以使用以下代码初始化数组:
```cpp
int a[10];
for (int i = 0; i < 10; i++) {
a[i] = 1;
}
```
或者,可以使用标准库中的算法 `std::fill` 来初始化数组:
```cpp
#include <algorithm>
int a[10];
std::fill(a, a+10, 1);
```
这两种方法都会将数组 `a` 的所有元素设置为1。
阅读全文