关键重点考虑:防止dest 地址和 src 地址 重合
- 按字节(Byte)拷贝实现的memcpy
void *my_memcpy_byte(void *dst, const void *src, int n)
{if (dst == NULL || src == NULL || n <= 0)return NULL;char * pdst = (char *)dst;char * psrc = (char *)src;if (pdst > psrc && pdst < psrc + n){pdst = pdst + n - 1;psrc = psrc + n - 1;while (n--)*pdst-- = *psrc--;}else {while (n--)*pdst++ = *psrc++;}return dst;
}