`memset`函数用于将一块内存区域中的所有字节设置为指定的值。其函数原型如下:
```c
void *memset(void *s, int c, size_t n);
其中:
`s` 是指向要填充的内存块的指针。
`c` 是要设置到内存块中的值,通常是一个字符,其值的范围是0到255。
`n` 是要设置的字符数。
使用`memset`时需要注意:
1. `c` 的实际值只取后八位,因为`memset`是按字节操作的。
2. 对于整数类型的数组,`memset`会将每个元素的所有字节设置为`c`的值。
3. 对于结构体或数组,`memset`会将整个结构体或数组的所有字节设置为`c`的值。
下面是一些使用`memset`的例子:
初始化整数数组为0:
```c
int arr;
memset(arr, 0, sizeof(arr));
清空字符串(以空字符'\0'结尾):
```c
char str;
memset(str, '\0', sizeof(str));
将结构体数组的所有元素设置为0:
```c
struct sample_struct {
char csName;
int iSeq;
int iType;
};
struct sample_struct TEST;
memset(TEST, 0, sizeof(struct sample_struct) * 10);
将字符数组的所有元素设置为特定字符(例如'A'):
```c
char str;
memset(str, 'A', sizeof(str));
请根据实际需要选择合适的`memset`用法