memcpy函数的实现要点
void *memcpy(void*dest,constvoid *src,size_tcount)//1.源串要有const修饰
{
char *pDest=(char*)(dest);//2.将原始指针赋给新变量
const char *pSrc=(constchar*)(src);
//3.目的地址和源地址重叠,从源地址的末尾方向开始拷贝
if( pDest>pSrc&& pDest<pSrc+count)
{
//将指针指向末尾
pDest = pDest + count-1;
pSrc = pSrc + count-1;
while(count--){
*pDest--=*pSrc--;
}
}
//4.目的地址和源地址不重叠,从源地址的开始方向拷贝
else
{
while(count--){
*pDest++=*pSrc++;
}
}
return pDest;//5.返回,这样可以嵌套使用
}
作者“冒大烟的羊肉串的专栏”
补充:软件开发 , C语言 ,