memmove函数c语言实现,【C语言】实现memcopy、memmove函数
memmove用于从src拷贝count个字符到dest,如果目标区域和源区域有重叠的话,
memmove能够保证源串在被覆盖之前将重叠区域的字节拷贝到目标区域中。但复制后src内容会被更改。
但是当目标区域与源区域没有重叠则和memcpy函数功能相同。
#include
#include
#include
void *my_memmove(void *dst, const void *src, size_t n)
{
assert(dst);
assert(src);
char *pdst = (char *)dst;
char *psrc = (char *)src;
if ((pdst >= psrc) && (pdst <= psrc + n))//重叠
{
while (n--)
{
*(pdst+n) = *(psrc+n);
}
}
else//不重叠
{
while (n--)
{
*pdst++ = *psrc++;
}
}
return dst;
}
int main()
{
int i = 0;
int arr[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
my_memmove(&arr[2], &arr, 20);
for (i = 0; i < 10; i++)
{
printf("%d ", arr[i]);
}
printf("\n");
system("pause");
return 0;
}
memmove函数c语言实现,【C语言】实现memcopy、memmove函数相关推荐
- C语言再学习 -- 常用头文件和函数(转)
参看:C/C++常用头文件及函数汇总 linux常用头文件如下: POSIX标准定义的头文件 <dirent.h> 目录项 <fcntl.h> 文 ...
- C语言semaphore头文件,C语言再学习 -- 常用头文件和函数
Linux常用头文件如下: POSIX标准定义的头文件 < dirent.h> 目录项 < fcntl.h> 文件控制 < fnmatch. ...
- C语言字符串、文件操作常用操作函数,
C语言字符串常用操作函数 C语言字符串.文件操作常用操作函数 字符串输出 - puts() 字符串输入 - gets() 字符串比较 - strcmp() 字符串复制 - strcpy() 字符串连接 ...
- R语言使用party包中的ctree函数构建条件推理决策树的流程和步骤、条件推理决策树是传统决策树的一个重要变体、条件推理树的分裂是基于显著性测试而不是熵/纯度/同质性度量来选择分裂
R语言使用party包中的ctree函数构建条件推理决策树的流程和步骤(Conditional inference trees).条件推理决策树是传统决策树的一个重要变体.条件推理树的分裂是基于显著性 ...
- R语言ggplot2可视化:通过在element_text函数中设置ifelse判断条件自定义标签文本的显示格式:例如、粗体、斜体等
R语言ggplot2可视化:通过在element_text函数中设置ifelse判断条件自定义标签文本的显示格式:例如.粗体.斜体等 目录
- R语言使用caret包中的createFolds函数对机器学习数据集进行交叉验证抽样、返回的样本列表长度为k个
R语言使用caret包中的createFolds函数对机器学习数据集进行交叉验证抽样.返回的样本列表长度为k个 目录
- R语言使用ggplot2包的快速可视化函数qplot绘制基础密度图实战
R语言使用ggplot2包的快速可视化函数qplot绘制基础密度图实战 目录 R语言使用ggplot2包的快速可视化函数qplot绘制基础密度图实战 #仿真数据
- R语言使用ggplot2包的快速可视化函数qplot绘制分组点图(带状图)并配置分组颜色实战
R语言使用ggplot2包的快速可视化函数qplot绘制分组点图(带状图)并配置分组颜色实战 目录 R语言使用ggplot2包的快速可视化函数qplot绘制分组点图(带状图)并配置分组颜色实战 #仿真 ...
- R语言使用ggplot2包的快速可视化函数qplot绘制分组箱图(jitter、分组颜色配置)实战
R语言使用ggplot2包的快速可视化函数qplot绘制分组箱图(jitter.分组颜色配置)实战 目录 R语言使用ggplot2包的快速可视化函数qplot绘制分组箱图(jitter.分组颜色配置) ...
- R语言使用ggplot2包的快速可视化函数qplot绘制密度图(主题、轴标签设置)实战
R语言使用ggplot2包的快速可视化函数qplot绘制密度图(主题.轴标签设置)实战 目录 R语言使用ggplot2包的快速可视化函数qplot绘制密度图(主题.轴标签设置)实战 #仿真数据
最新文章
- mysql修改校对集_MySQL 教程之校对集问题
- 数据库中事务并发问题
- VC Ws2_32.lib
- [codevs] 1098 均分纸牌
- Spring MVC异常处理 - @ ControllerAdvice,@ ExceptionHandler,HandlerExceptionResolver
- SAP License:年度结算的步骤
- 同行压力(兼谈敏捷团队,绩效管理,自组织团队)
- win7系统计算机无最小化,win7纯净版系统任务栏无法显示网页最小化窗口怎么办...
- Xen Server 7.0 一直无法退出维护模式
- CocoaLumberjack
- unrecognized selector sent to instance
- 菜鸟教程java在线编辑器_HTML 编辑器
- 乐播投屏总是自动断开_乐播投屏- 投屏常见问题 投屏在线客服
- php网站 怎么查是否开源,怎么查看网站的开源程序?
- DrGraph - SVG模块之一:显示与节点选择
- 福建船政交通职业学院计算机应用技术录取,福建船政交通职业学院单招2020年(单独招生录取分数线)...
- Yamaha DGX660 电钢琴aux-in只响一边的处理记录
- python怎么表白源码_Python浪漫表白源码(附带详细教程)-Go语言中文社区
- 微信小程序WebSocket接口以及在小程序中的使用。
- 卧枕宋元|陈佩秋大师诞辰100周年纪念数字藏品即将发售!
热门文章
- SEM数据该如何分析?
- 微信注册页面html实现,微信注册.html
- 【无标题】基于javaweb、java的管理系统毕设计与实现怎样选题思路分享
- 永远的友谊_友谊的传递属性-温馨介绍的重要性
- 3月12日公开短线黑马牛股请点击验证
- android 涟漪背景,Android 水波效果 | 涟漪效果 实现
- redis的安装教程(单机、win10)
- Windows 10 D盘操作需要管理员权限
- 对我的数据分析工作帮助很大的“无用知识”
- Java云同桌学习系列(十九)——Linux系统