内存操作函数

一. 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个内存操作函数的最后一个参数,都是以字节为单位,而不是以元素为单位!!!

相关推荐
C++ 老炮儿的技术栈6 小时前
Qt 编写 TcpClient 程序 详细步骤
c语言·开发语言·数据库·c++·qt·算法
wangjialelele6 小时前
Linux下的IO操作以及ext系列文件系统
linux·运维·服务器·c语言·c++·个人开发
wengqidaifeng9 小时前
数据结构(三)栈和队列(上)栈:计算机世界的“叠叠乐”
c语言·数据结构·数据库·链表
VekiSon9 小时前
Linux内核驱动——设备树原理与应用
linux·c语言·arm开发·嵌入式硬件
BlackQid9 小时前
深入理解指针Part5——回调函数及应用
c语言
日拱一卒——功不唐捐9 小时前
字符串匹配:暴力法和KMP算法(C语言)
c语言·算法
lcj251110 小时前
深入理解指针(4):qsort 函数 & 通过冒泡排序实现
c语言·数据结构·算法
4311媒体网11 小时前
C语言操作符全解析 C语言操作符详解
java·c语言·jvm
二年级程序员11 小时前
一篇文章掌握“顺序表”
c语言·数据结构
傻乐u兔12 小时前
C语言进阶————指针4
c语言·开发语言