0
点赞
收藏
分享

微信扫一扫

Coding:实现memcpy函数


问题描述

已知memcpy的函数为: void* memcpy(void* dest , const void* src , size_t count)其中dest是目的指针,src是源指针。不调用c++/c的memcpy库函数,请编写memcpy。

代码

void *memcpy(void *dest,const void *src,size_t count)
{
//安全检查
assert((dest != NULL) && (src != NULL));

unsigned char * pDest = (unsigned char *)dest;
const unsigned char * pSrc = (const unsigned char *)src;

//防止内存重复
assert(!(pDest <= pSrc && pSrc < pDest+count));
assert(!(pSrc <= pDest && pDest < pSrc+count));

while (count--) {
*pDest = *pSrc;
pDest++;
pSrc++;
}
return dest;
}


举报

相关推荐

0 条评论