C语言内存函数

一.memcpy使用和模拟实现

输出格式

4a0b16b09a834645b7a2ecd60b2a5b51.png

 函数memcpy从source的位置开始向后复制num个字节的数据到destination指向的内存位置,当遇到\0时不会停止,source和destination有任何重叠,复制的结果都是未定义的。

memcpy的模拟实现

ec4f99acc86f4859b4e63217de3b29b1.png

 二.memmove的使用和函数模拟实现

输出格式

76eb0ef3c50144219d8662c57090c7f5.png

 和memcpy的差别就是memmove函数处理的源内存块和目标内存块是可以重叠的。

如果源空间和目标空间出现重叠,就得使用memmove函数处理

memmove的模拟实现

3bca14c3265349d6b981596f43ee5b29.png

 需要进行分类讨论是从前往后还是从后往前,这样不会重叠占用。

三.memset函数的使用

memset是用来设置内存的,将内存中的值以字节为单位设置成想要的内容

输出格式

1938c4e00bfb4f4589c62406df3cdb24.png

 使用

7704253d1fcb4927bad5b3e47fa1442f.png

 四.memcmp函数的使用

从两个指针指向的位置开始比较向后的字节

输入格式

45475d4666ad43698c7434754fa29136.png

 函数使用

055355c837bb4802b8bdfdacfa7cb8ad.png

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值