memcpy是c和c++使用的内存拷贝函数,本文主要介绍了C++中memcpy函数的使用以及模拟实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
−
目录
前言
memcpy函数如何使用,以及如何实现我们自己的my_memcpy在这里给大家详细介绍。
一、什么是memcpy
memcpy是c和c++使用的内存拷贝函数,memcpy函数的功能是从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中。
二、memcpy与strcpy的区别
1.复制的内容不同。strcpy只能复制字符串,而memcpy可以复制任意内容,例如字符数组、整型、结构体、类等。
2.复制的方法不同。strcpy不需要指定长度,它遇到被复制字符的串结束符"\0"才结束,所以容易溢出。memcpy则是根据其第3个参数决定复制的长度。
3.用途不同。通常在复制字符串时用strcpy,而需要复制其他类型数据时则一般用memcpy
1.strcpy
1 2 3 4 5 6 7 8 |
|
我们再看一下下面的代码
1 2 3 4 5 6 7 |
|
这时我们发现arr2就不能正常的拷贝了,因为strcpy只能拷贝字符串,int类型的数组或者结构体都是不能拷贝的,因为strcpy比较依赖’\0’通过检测‘\0’来实现函数的,这时就需要我们的memcpy函数了。
2.memcpy
我们这里简单介绍一下函数的使用,函数的三个参数分别是dest(要复制的目的地),str(原目标),count(要复制内容的大小)。
1 2 3 4 5 6 7 8 9 10 11 12 |
|
这里我们通过memcpy函数成功复制了结构体arr1。
三、模拟实现memcpy
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
|
这里我们模拟实现了memcpy函数。
总结
这些memcpy函数的全部内容了,主要就是讲解它的使用,以及我们自己如何去实现它