把一段内存的数据全部变成一个值

  • 清空数组数据
#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优化之后生成的机器码基本相同,没有明显的性能区别
}