memset
函数功能
将指定值填充到内存区域的每个字节。通常用于初始化或清空内存区域。
函数定义
void *memset(void *ptr, int value, size_t num);
参数说明
参数名 |
描述 |
取值范围 |
输入/输出 |
---|---|---|---|
ptr |
指向用于存储重置内容的目标内存指针。 |
非空指针,指向有效内存,至少有num字节可访问。 |
输入/输出 |
value |
重置的目标值。 |
实际会被转换为unsigned char,有效范围为0~255(超过则截断) |
输入 |
num |
被重置的字节数。 |
非负数,不超过ptr指向的内存大小。 |
输入 |
返回值
- 成功:返回指向目标存储区内存的指针,返回值一般被忽略。
- 失败:对标开源Glibc,不返回特殊异常值。

主要用于初始化内存(如将内存设置为0或其他值)或清空数据。填充的值是按字节填充的,因此需要注意值的大小。
示例
#include <stdio.h> #include <string.h> int main() { char byteArr[10]; memset(byteArr, 'A', sizeof(byteArr)); for(int i = 0; i < sizeof(byteArr); i++) { printf("%c ", byteArr[i]); } printf("\n"); return 0; }
运行结果:
A A A A A A A A A A
父主题: 函数定义