memcpy() 和 memmove() 有什么区别?

 我来答
百度网友96ffcf7
2015-10-16 · 知道合伙人互联网行家
百度网友96ffcf7
知道合伙人互联网行家
采纳数:22719 获赞数:118737
从事多年网络方面工作,有丰富的互联网经验。

向TA提问 私信TA
展开全部

memcpy和memmove()都是C语言中的库函数,在头文件string.h中,作用是拷贝一定长度的内存的内容,原型分别如下:
void *memcpy(void *dst, const void *src, size_t count);
void *memmove(void *dst, const void *src, size_t count); 
他们的作用是一样的,唯一的区别是,当内存发生局部重叠的时候,memmove保证拷贝的结果是正确的,memcpy不保证拷贝的结果的正确。

华南检测机构
2025-03-06 广告
ISTA 3E测试是一种针对集合包装件的全面评估方法,适用于单个或多个产品及包装件固定在一起作为单元运输的情况。该测试涵盖温湿度预处理、冲击、压缩和振动四大项目,其中温湿度预处理是可选项目,冲击测试包括斜面冲击和旋转棱跌落,压缩测试评估包装... 点击进入详情页
本回答由华南检测机构提供
百度网友e30ddfb
2015-09-14 · TA获得超过4980个赞
知道大有可为答主
回答量:2232
采纳率:100%
帮助的人:202万
展开全部
如果源和目的参数有重叠, memmove()提供有保证的行为。而 memcpy()则不能提供这样的保证, 因此可以实现得更加有效率。如果有疑问, 最好使用memmove()。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式