C语言第五十八弹----介绍memset内存函数

介绍C语言内存函数memset

memset是C语言标准库中的一个函数,用于将一块内存区域的数据设置为指定的值。

源代码

c 复制代码
void* memset(void* ptr, int value, size_t num);

ptr是指向要设置的内存区域的指针,value是要设置的值(以int形式表示),num是要设置的字节数。

memset函数将指定的内存区域的每个字节都设置为指定的值。它常用于初始化内存、重置内存或将内存区域全部填充为特定的值。

使用实例

c 复制代码
#include <stdio.h>
#include <string.h>

int main() {
    char str[10];

    // 使用memset将str数组填充为字符'A'
    memset(str, 'A', sizeof(str));

    // 输出填充后的数组
    for (int i = 0; i < sizeof(str); i++) {
        printf("%c ", str[i]);
    }

    return 0;
}

需要注意的是,memset函数是按字节设置内存的,value参数是一个int类型,但实际上只会使用其低8位(8个比特)的值来设置内存。而对于非字符类型的数组,为了避免类型错误,可以使用memcpy来设置特定值。

相关推荐
星栈独行4 小时前
翻完 Pi 源码:它和 Codex、Claude Code 有何不同
开发语言·javascript·人工智能·程序人生
2601_954526754 小时前
【工业传感与算法实战】温漂补偿与零点抗漂破局:基于二阶多项式拟合的 C/C++ 边缘校准算法,深度拆解“压力变送器什么牌子好”的技术硬指标
c语言·c++·算法
qq_448011164 小时前
C语言中的变量和函数的定义与声明
android·c语言·开发语言
孫治AllenSun5 小时前
【DataX】生产环境搭建DataX集群案例
java·开发语言·jvm
c238566 小时前
把 C++ 内存分配拆透:new 与 malloc 的三层血缘
开发语言·c++·算法
moonsims7 小时前
星闪在跨域无人化系统作用
开发语言·php
aaaameliaaa7 小时前
指针之总结
c语言·笔记·算法
Iruoyaoxh8 小时前
栈和队列~
java·开发语言
agathakuan8 小时前
Wireshark 解密並導出TLS 1.2 / TLS 1.3 明文的方法(可控制 Client 端)
c语言·wireshark·ssl·openwrt
caimouse8 小时前
protoc-gen-c 支持 proto3 `optional` 关键字修改记录
c语言·学习