把一段内存的数据全部变成一个值
- 清空数组数据
#include <stdio.h>
#include <string.h>
int main(void)
{
int arr[] = {1,2,3,4};
for (size_t i = 0; i < 4; i++) {
printf("memset before values[%zu]=%d\n", i, values[i]);
}
memset(arr,0,sizeof(arr));
return 0;
}
- 初始化清零结构体
typedef struct Point{
int x;
int y;
}Point_t;
int main(void)
{
Point_t p1 = {0};//通常采用的方式
Point_t p2;
memset(&p2,0,sizeof(p2)); //字节操作 开启-O2优化之后生成的机器码基本相同,没有明显的性能区别
}