memset可以初始化结构体吗
时间: 2023-08-03 17:03:19 浏览: 141
包含string对象的结构与memset初始化操作
是的,可以使用memset函数来初始化结构体。memset函数用于将一块内存空间的每个字节设置为特定的值,可以用来将结构体的每个成员都设置为0或其他特定的值。以下是一个示例:
```c
#include <stdio.h>
#include <string.h>
typedef struct {
int id;
char name[20];
} Person;
int main() {
Person p;
memset(&p, 0, sizeof(Person)); // 将p结构体的每个字节都设置为0
printf("ID: %d\n", p.id); // 输出 0
printf("Name: %s\n", p.name); // 输出空字符串
return 0;
}
```
在这个示例中,通过memset函数将Person结构体p的每个字节都设置为0,这样就完成了结构体的初始化。
阅读全文