【C】内存函数——知识点大全(精炼,全面,基础)

 前言:大家好,这里是YY;此篇博客主要是内存函数的知识点包含【memcpy】【memmove】【memcmp】【memset

PS:创作不易,每个知识点都有例题或者图帮助理解;如果对你有帮助,希望能够得到 您的关注,赞,收藏,谢谢!  

目录

一.内存函数总览

1.内存函数的头文件

二.memcpy(内存拷贝函数)

1.memcpy的模拟实现

2.情景1:自己拷贝自己的一部分

三.memmove(处理重叠内存的内存拷贝函数)

四.memcmp(内存比较函数)

1.比较memcmp和strcmp

五.memset(内存设置函数)


一.内存函数总览

1.内存函数的头文件

#include<string.h>

二.memcpy(内存拷贝函数)

特性:限制字节数不限制类型

应用场景: 

1.memcpy的模拟实现

2.情景1:自己拷贝自己的一部分

PS:若不想分类讨论,直接用memmove函数  

分析:有两种情形

  • 目标区域在前面,从源区域前往后拷贝
  • 目标区域在后面,从源区域后往前拷贝

原理:保证重合的部分,能够优先从该方向上拷贝出来

原理图示: 

直接情况分类:

代码展示: 

 


三.memmove(处理重叠内存的内存拷贝函数)

特点:memmove不用像memcpy一样考虑源区域头地址与目标区域头地址的位置关系 


四.memcmp(内存比较函数)

memcmp的返回值:

使用场景: 

1.比较memcmp和strcmp

strcmp限定了字符指针类型(char*),而memcmp不限定类型(void*)


五.memset(内存设置函数)

PS:value为设置的值,num为修改的前num个字符个数(字节个数)

num的赋值规则:

  •   要将参数化为二进制填入 

使用场景:

PS:一个int数组,一个元素有4个字节;

这里修改8个字节/9个字节,均将该元素改为0。

  • 20
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 16
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YY的秘密代码小屋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值