内存操作函数

一. memcpy 函数

相对于strcpy,它的优点在于:

1.可以用来复制任意类型数据,而strcpy只能用于复制以 ' \0 ' 结尾的字符串

2.不依赖于任何特定的结束标志
memcpy的缺点:就是如果dest和src之间有重叠部分了,就不能用memcpy,就得用memmove了

代码实现:

二. memmove 函数

memmove可以进行重叠拷贝,举例说明:

代码实现:将12345拷贝到34567上:

三. memset 函数

代码实现:

那如果是int类型呢?

由上可知:结果并不是我们所想的是 9 9 9 9 9 6 7 8 9 10, 造成这样的结果,原因是:

最后一个参数是以字节为单位,而不是以元素为单位。如果是整型,就是4个字节,他只是将每个字节设置成了9 ,并不是最终这个整型为9

区分:

至于memcpy和memmove,虽然他们最后一个参数也是以字节为单位,但是他们只是进行数据的搬运,并不会像memset进行数据的修改

四. memcmp 函数

代码实现:

最后!

注意的地方:

这4个内存操作函数的最后一个参数,都是以字节为单位,而不是以元素为单位!!!

相关推荐
qq_479875433 小时前
设置接收超时(SO_RCVTIMEO)
c语言·算法
用户6120414922136 小时前
C语言做的区块链模拟系统(极简版)
c语言·后端·敏捷开发
草莓熊Lotso6 小时前
【C语言强化训练16天】--从基础到进阶的蜕变之旅:Day12
c语言·开发语言·c++·刷题
励志五个月成为嵌入式糕手7 小时前
0820 SQlite与c语言的结合
c语言·oracle·sqlite
艾莉丝努力练剑19 小时前
【C语言16天强化训练】从基础入门到进阶:Day 7
java·c语言·学习·算法
小十一再加一19 小时前
【C初阶】自定义类型--结构体
c语言
zhysunny1 天前
Day22: Python涡轮增压计划:用C扩展榨干最后一丝性能!
c语言·网络·python
YxVoyager1 天前
【C标准库】详解<stdio.h>标准输入输出库
c语言·c++
.YM.Z1 天前
数据在内存中的存储
c语言·内存