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.返回,這樣可以嵌套使用
}
作者“冒大煙的羊肉串的專欄”