C语言memcpy函数实例如何应用?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2647个文字,预计阅读时间需要11分钟。
目录+前言+以下是参考网友的一些总结:+补充:背景+再次看看dest和src地址是否有重叠的情况+总结+前言+昨天自己动手实现了memcpy这个函数,用一个小程序试了试,结果正确,满意开心,可能还有‘
目录
- 前言
- 下面是参考网友的一些总结:
- 补充:
- 背景
- 再来看看dest和src地址有重叠的情况
- 总结
前言
昨天自己动手实现memcpy这个函数,用一个例程试了一下,结果正确,满心欢心,可是有些地方想不明白,于是百度了一下,结果自己写的函数简直无法直视。
觉得还是写个总结,以示教训。
先贴上我自己的函数:
char *mymemcpy(char *dest, const char * src, int n) { char *pdest; char *psrc; pdest = dest; psrc = src; for(n; n>0; n--) { *pdest = *psrc; pdest++; psrc++; } }
我这个程序只能是在非常理想的条件下才能完成复制任务,一旦参数有误,那么就会运行出错;另外没有返回值,而是直接将dest指针作为了返回型参数。
本文共计2647个文字,预计阅读时间需要11分钟。
目录+前言+以下是参考网友的一些总结:+补充:背景+再次看看dest和src地址是否有重叠的情况+总结+前言+昨天自己动手实现了memcpy这个函数,用一个小程序试了试,结果正确,满意开心,可能还有‘
目录
- 前言
- 下面是参考网友的一些总结:
- 补充:
- 背景
- 再来看看dest和src地址有重叠的情况
- 总结
前言
昨天自己动手实现memcpy这个函数,用一个例程试了一下,结果正确,满心欢心,可是有些地方想不明白,于是百度了一下,结果自己写的函数简直无法直视。
觉得还是写个总结,以示教训。
先贴上我自己的函数:
char *mymemcpy(char *dest, const char * src, int n) { char *pdest; char *psrc; pdest = dest; psrc = src; for(n; n>0; n--) { *pdest = *psrc; pdest++; psrc++; } }
我这个程序只能是在非常理想的条件下才能完成复制任务,一旦参数有误,那么就会运行出错;另外没有返回值,而是直接将dest指针作为了返回型参数。

