C 语言 memset() 函数用于将指定内存块的前 n 个字节都填充为指定的值,常用于数组清零或初始化。
原型
void *memset(void *str, int c, size_t n);参数
str- 要填充的内存指针;c- 要填充的值(int,实际按 unsigned char 处理);n- 要填充的字节数。
返回值
返回 str 的指针。
示例
#include <stdio.h>
#include <string.h>
int main()
{
char buf[10];
memset(buf, 0, sizeof(buf)); // 清零
int arr[5];
memset(arr, 0, sizeof(arr)); // 整型数组清零
printf("数组已清零\n");
return 0;
}输出:
数组已清零注意事项
给 int 等非 char 类型数组清零是安全的;但用 memset 填充非 0 值到 int 数组会得到奇怪的结果,应改用循环。