当前位置: 首页 > news >正文

【C/C++】memcpy函数的模拟实现

零.导言

       上一篇博客我们学习了memcpy函数,不妨我们现在尝试模拟实现memcpy函数的功能。


一.实现memcpy函数的要点

  • memcpy函数是一种C语言内存函数,可以按字节拷贝任意类型的数组,因此我们自定义的模拟函数需要两个无类型的指针参数
  • 又因为要确认拷贝的字节数,所以还需要一个size_t类型的参数

二.memcpy函数的模拟实现

        其实很简单,只需满足以上两个条件,代码如下:

void my_memcpy(const void* dest,const void* sourse,size_t num)
{while (num){*(char*)dest = *(char*)sourse;dest = (char*)dest + 1;sourse = (char*)sourse + 1;num--;}
}

        这样,模拟的函数就可以起到和原函数相近的效果,验证:


.memcpy函数模拟实现的意义

         加深了我们对此函数的理解,深入的学习了memcpy函数的本质,对日后新知识的学习与理解有帮助。


四.相关链接

        【C/C++】字符/字符串函数(1)——由string.h提供-CSDN博客

        【C/C++】memcpy函数的使用-CSDN博客


http://www.lryc.cn/news/477359.html

相关文章:

  • 嵌入式开发之线程互斥
  • JavaScript 变量作用域与函数调用机制:var 示例详解
  • Linux(CentOS)安装 JDK
  • AI产品经理实战手册:策略、开发与商业化指南
  • 【大语言模型】ACL2024论文-06 探索思维链COT在多模态隐喻检测中的应用
  • Linux之初体验
  • 现代化水电管理:Spring Boot在大学城的实践
  • 黑马官网2024最新前端就业课V8.5笔记---HTML篇
  • GS-Blur数据集:首个基于3D场景合成的156,209对多样化真实感模糊图像数据集。
  • Linux下Java的多种方式安装
  • Android Studio:connect time out
  • A014-基于Spring Boot的家电销售展示平台设计与实现
  • 数学期望和联合概率密度
  • 萤石私有化设备视频平台EasyCVR视频融合平台如何构建农业综合监控监管系统?
  • 【MongoDB】Windows/Docker 下载安装,MongoDB Compass的基本使用、NoSQL、MongoDB的基础概念及基础用法(超详细)
  • 微信小程序-自定义导航栏
  • vue中强制更新视图
  • mqsql 场景函数整理
  • 【AI日记】24.11.05 向量数据库 weaviate、混合搜索、多语言搜索、明确自己的南京
  • Scrapy入门
  • Ubantu/Linux 采用Repo或Git命令报错!!
  • C++简单工厂模式
  • 讲讲 kafka 维护消费状态跟踪的方法?
  • MySQL 和 PostgreSQL 的对比概述
  • 【Python单元测试】pytest框架单元测试 配置 命令行操作 测试报告 覆盖率
  • 【牛客刷题记录】【JAVA】栈
  • 【办公类-04-04】华为助手导出照片视频分类(根据图片、视频的文件名日期导入“年-月-日”文件夹中,并转移到“年-月”文件中整理、转移到“年”文件夹中整理)
  • 62-Java-面试专题(1)__基础
  • 快速构建数据产品原型 —— 我用 VChart Figma 插件
  • 登录—令牌技术