C++实现memcpy函数

这篇具有很好参考价值的文章主要介绍了C++实现memcpy函数。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


一、memcpy函数介绍

void* memcpy(void* dest, const void* src, size_t size);

功能:memcpy为按字节拷贝内存函数,从源src所指的内存地址开始拷贝n个字节到目标dest为起始地址的内存中。

返回值:函数返回指向目标内存区dest的指针。

二、C++实现

1.实现memcpy函数

注意事项:

  1. memcpy应该实现按字节拷贝指定长度的内存内容,但若传入函数的实参dest和src指针的类型不同,直接自增++可能不是按字节进行操作的,比如int* p,p++每次移动4个字节。
    解决方法:在函数内部将指针转换为char*类型,这样自增操作都是移动的一个字节。

代码实现:文章来源地址https://www.toymoban.com/news/detail-604161.html

void* memcpy(void* dest, const void* src, size_t size){
	if(dest == nullptr || src == nullptr || size < 0){
		return nullptr;
	}
	char* pdest = dest;
	const char* psrc = src;
	while(size--){
		*pdest++ = *prsc++;
	}
	return dest;
}

到了这里,关于C++实现memcpy函数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数据结构——队列(C++实现)

    目录 队列的概念及结构  队列的实现 队列的代码实现 完整的源文件代码 总结 推荐题目巩固知识 队列:只允许在一端进行插入数据操作,在另一端进行删除操作的特殊线性表,队列最重要的特性是 先进先出 (First In First Out) 入队列:进行插入操作的一端称为 队尾 出队列

    2024年02月07日
    浏览(40)
  • 【C++】引用之带你“消除”C语言版数据结构教材的一些困惑(虽然是C++的内容,但是强烈建议正在学习数据结构的同学点进来看看)

    👀樊梓慕: 个人主页  🎥 个人专栏: 《C语言》《数据结构》《蓝桥杯试题》《LeetCode刷题笔记》《实训项目》《C++》 🌝 每一个不曾起舞的日子,都是对生命的辜负 目录 前言 引用的概念 引用的特性 引用的使用场景 引用和指针的区别 C语言版数据结构教材的解惑 不知道

    2024年02月08日
    浏览(45)
  • 【数据结构】—红黑树(C++实现)

                                                            🎬 慕斯主页 : 修仙—别有洞天                                                  💜 本文前置知识:  AVL树                                                       ♈️ 今日夜电波 :

    2024年02月05日
    浏览(50)
  • 【数据结构】红黑树(C++实现)

    👀 樊梓慕: 个人主页  🎥 个人专栏: 《C语言》 《数据结构》 《蓝桥杯试题》 《LeetCode刷题笔记》 《实训项目》 《C++》 《Linux》 《算法》 🌝 每一个不曾起舞的日子,都是对生命的辜负 目录 前言 1.概念 2.性质 3.节点的定义  4.插入 4.1情况1:叔叔u存在且为红 4.2情况2:

    2024年03月13日
    浏览(53)
  • 【c++中内存拷贝函数(C++ memcpy)详解】

    原型 :void*memcpy(void*dest, const void*src,unsigned int count);  功能 :由src所指内存区域复制count个字节到dest所指内存区域。   说明 :src和dest所指内存区域不能重叠,函数返回指向dest的指针。     举例 :  下面自行实现这个函数 程序清单 1 V0.1版程序  程序清单 2 测试V0.1用例   

    2023年04月20日
    浏览(31)
  • 【数据结构篇C++实现】- 哈希表

    友情链接:C/C++系列系统学习目录 哈希表:也叫做散列表。是根据和值(Key-Value)直接进行访问的数据结构。也就是说,它通过 key 和一个映射函数 Hash(key) 计算出对应的一个存储位置,然后把键值对映射到哈希表上的对应位置来访问记录,以加快查找的速度。这

    2024年02月02日
    浏览(44)
  • 【数据结构】—AVL树(C++实现)

                                                            🎬慕斯主页 : 修仙—别有洞天                                                  💜 本文前置知识:  搜索二叉树                                                       ♈️ 今日夜电波

    2024年02月05日
    浏览(49)
  • 数据结构-B树的特点结构与C++实现

    目录 1. 引言 2. 什么是B树 3. B树的特点 3.1 平衡性 3.2 多路搜索树 3.3 高度平衡 4. B树的应用场景 4.1 文件系统 4.2 数据库系统 4.3 索引结构 5. B树的基本操作 5.1 插入操作 5.2 删除操作 5.3 查找操作 6. B树与其他数据结构的比较 6.1 B树与二叉搜索树 6.2 B树与红黑树 7. C++代码实现 8.

    2024年02月09日
    浏览(44)
  • c++实现数据结构栈和队列

    1、栈 头文件 源文件 主函数 2、循环队列 头文件 源文件 主函数 3、思维导图

    2024年02月08日
    浏览(38)
  • 数据结构(C++) : AVL树 实现篇

    目录 1.AVL树引入   (1)二叉搜索树缺点   (2)AVL树简介     [1]问题的解决     [2]AVL树的性质 2.AVL树的插入旋转操作   (1)术语解释   (2)左单旋     [1]插入到右侧的左边     [2]插入到右侧的右边   (3)右单旋     [1]插入到左侧的左边     [2]插入到左侧的右边   (4)左右双旋    

    2024年02月05日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包