当前位置: 首页> 教育> 大学 > C语言 ——— 学习、使用memcpy函数 并模拟实现

C语言 ——— 学习、使用memcpy函数 并模拟实现

时间:2025/7/9 16:45:29来源:https://blog.csdn.net/weixin_55341642/article/details/141000392 浏览次数:0次

目录

memcpy函数的功能

学习memcpy函数​编辑

使用memcpy函数 

模拟实现memcpy函数


memcpy函数的功能

memcpy函数是内存拷贝函数,用于把任意类型的数据的内存拷贝到另一个同类型的数据上


学习memcpy函数

函数的参数:

void* destination:

目的地数据,需要被拷贝的数据,因为是任意类型,所以使用void*指针接收

const void* source:

源头数据,源头数据不用改变,使用加上const修饰,且同样不知道是什么类型的数据,所以使用void*指针接收

size_t sum: 

需要从源头数据拷贝到目的地数据多少个字节 

函数的返回值: 

拷贝结束后,会返回目标空间的起始地址,因为并不知道目标空间的类型,所以是返回void*的指针 


使用memcpy函数 

拷贝整型数组:

拷贝字符串数组:

………………


模拟实现memcpy函数

代码演示: 

void* my_memcpy(void* destination, const void* source, size_t num)
{// 断言assert(destination != NULL);assert(source != NULL);// 存放目的地数据的起始位置void* ret = destination;// 将目的地数据的指针和源头数据的指针强制类型转换为char*// 再配合 num 每一字节每一字节的拷贝char* dest = (char*)destination;char* sour = (char*)source;while (num--){*dest = *sour;dest++;sour++;}return ret;
}

代码验证:

不接受返回值时:

接收返回值时:

关键字:C语言 ——— 学习、使用memcpy函数 并模拟实现

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: