C++清空数组的方法
时间: 2024-06-07 08:12:05 浏览: 23
要清空一个数组,可以使用以下几种方法:
1. 使用memset()函数:可以使用memset()函数将数组的所有元素设置为指定的值。将数组名、值和大小作为参数传递给memset()函数来清空数组。
示例代码:
```
int arr[5] = {1, 2, 3, 4, 5};
memset(arr, 0, sizeof(arr));
```
2. 使用循环遍历:可以使用循环遍历数组的每个元素,并将其设置为特定的值(如0)来清空数组。
示例代码:
```
int arr[5] = {1, 2, 3, 4, 5};
for (int i = 0; i < sizeof(arr)/sizeof(arr[0]); i++) {
arr[i] = 0;
}
```
3. 使用标准库函数:可以使用标准库函数来清空数组。例如,可以使用memset()函数、bzero()函数或者memcpy()函数将数组的所有元素设置为0。
示例代码:
```
#include <string.h> // 必须包含此头文件
int arr[5] = {1, 2, 3, 4, 5};
memset(arr, 0, sizeof(arr));
// 或者
bzero(arr, sizeof(arr));
// 或者
memcpy(arr, {0}, sizeof(arr));
```
这些方法可以根据你的需求选择适合的方式来清空数组。
相关问题
c++ 清空map数组
在C++中,可以使用map的成员函数`clear()`来清空map数组。该函数会删除map中所有的元素,将map的大小重置为0。
以下是一个简单的例子:
```c++
#include <iostream>
#include <map>
using namespace std;
int main() {
map<string, int> m {{"one", 1}, {"two", 2}, {"three", 3}};
// 清空map
m.clear();
// 输出map的大小
cout << "Size of map after clearing: " << m.size() << endl;
return 0;
}
```
输出结果为:
```
Size of map after clearing: 0
```
可以看到,map被清空后大小为0。
清空C++数组
要清空一个 C++ 数组,可以使用标准库函数 `std::fill()` 或 `std::memset()`。
使用 `std::fill()`:
```cpp
int arr[10];
std::fill(std::begin(arr), std::end(arr), 0);
```
这将把数组 `arr` 中的所有元素都设置为 0。
使用 `std::memset()`:
```cpp
int arr[10];
std::memset(arr, 0, sizeof(arr));
```
这也会把数组 `arr` 中的所有元素都设置为 0。注意,`std::memset()` 只适用于 POD(Plain Old Data)类型的数组,对于其他类型的数组,应该使用 `std::fill()` 或类似的函数。