我说的是memset
时间: 2023-10-19 15:31:59 浏览: 93
`memset` 是一个 C/C++ 标准库函数,用于将一块内存区域的每个字节都设置为特定的值。它的原型如下:
```c
void *memset(void *ptr, int value, size_t num);
```
其中,`ptr` 是指向要填充的内存区域的指针,`value` 是要设置的值,`num` 是要设置的字节数。这个函数在初始化/清零内存区域时非常有用。你可以使用 `memset` 来设置数组、结构体等数据结构的初始值,或者清除一块动态分配的内存。
例如,下面的代码将一个整型数组的所有元素都设置为 0:
```c
#include <stdio.h>
#include <string.h>
int main() {
int arr[10];
memset(arr, 0, sizeof(arr));
// 打印数组内容
for (int i = 0; i < 10; ++i) {
printf("%d ", arr[i]);
}
return 0;
}
```
输出结果为:`0 0 0 0 0 0 0 0 0 0`。这样就完成了将数组所有元素置零的操作。
相关问题
memset
`memset` 是 C/C++ 中的一个函数,用于将一段内存空间的值设置为指定的值。其声明如下:
```c++
void* memset(void* ptr, int value, size_t num);
```
其中,`ptr` 是指向要填充的内存块的指针,`value` 是要设置的值,`num` 是要填充的字节数。函数执行后,指针 `ptr` 指向的内存块的前 `num` 个字节都被设置为 `value`。
例如,下面的代码将一个长度为 10 的整型数组 `arr` 中的所有元素都设置为 0:
```c++
int arr[10];
memset(arr, 0, sizeof(arr));
```
需要注意的是,`memset` 函数只能用来设置字节类型的值,不能用来设置其他类型的值,否则会导致类型错误。
阅读全文