memcpy memmove区别和实现
生活随笔
收集整理的這篇文章主要介紹了
memcpy memmove区别和实现
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2019獨角獸企業重金招聘Python工程師標準>>>
memmove的處理措施:
(1)當源內存的首地址等于目標內存的首地址時,不進行任何拷貝
(2)當源內存的首地址大于目標內存的首地址時,實行正向拷貝
(3)當源內存的首地址小于目標內存的首地址時,實行反向拷貝
-- memcpy實現
void * memcpy ( void * dest, const void * src, size_t n) { ???? char *????? d = ( char *) dest; ???? const char *? s = ( const char *) src; ???? while (n-–) ??????? *d++ = *s++; ???? return dest; }-- memmove實現
void * memmove ( void * dest, const void * src, size_t n) { ???? char *???? d? = ( char *) dest; ???? const char *? s = ( const char *) src; ?? ???? if (s>d) ???? { ????????? // start at beginning of s ????????? while (n--) ???????????? *d++ = *s++; ???? } ???? else if (s<d) ???? { ???????? // start at end of s ???????? d = d+n-1; ???????? s = s+n-1; ?? ???????? while (n--) ??????????? *d-- = *s--; ???? } ???? return dest; }轉載于:https://my.oschina.net/Jesuslovesyou/blog/294884
總結
以上是生活随笔為你收集整理的memcpy memmove区别和实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 创建ASM With Oracle 10
- 下一篇: android基础之TabSpec和Ta