#C 语言标准库函数 memset
/*********************************************
* @brief 使用指定的字节填满内存块
* @param dest 要设置的内存块
* @param value 要设置的字节值
* @param count 内存块的字节数
* @return 内存块的差异
********************************************/
void* memset(const void* dest, int value, size_t count);
说明
将 dest
指向的内存块中的所有字节的值全部设为 value
。
参数
dest
- 要设置的内存块value
- 要设置的字节值count
- 内存块的字节数
返回值
- 返回目标地址
dest
本身
#示例
#include <stdio.h>
#include <stdint.h>
#include <string.h>
#define N 5
int main(void)
{
uint8_t data[N] = {10, 21, 33, 45, 66};
memset(data, 0, N); // 全部设为 0
for (size_t i = 0; i < N; i += 1)
{
printf("%hhu ", data[i]);
}
return 0;
}
运行结果:
0 0 0 0 0
#推荐阅读
#参考标准
- C17 standard (ISO/IEC 9899:2018):
- 7.24.6.1 The memset function (p: 270)
- C11 standard (ISO/IEC 9899:2011):
- 7.24.6.1 The memset function (p: 371)
- C99 standard (ISO/IEC 9899:1999):
- 7.21.6.1 The memset function (p: 333)
- C89/C90 standard (ISO/IEC 9899:1990):
- 4.11.6.1 The memset function