鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

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