//实现一个memcpy函数 //参数:dst--目标地址, src--源地址, n--要复制的字节数 void *memcpy(void *dst, const void *src, size_t n){ //检查输入指针 if(dst == NULL || src == NULL) return NULL; //检查目标数据和源数据是否覆盖 if(dst == src){ return dst; } //对内存对齐进行优化 size_t i; char *dst_char = (char *)dst; const char *src_char = (const char *)src; if(dst_char < src_char) { for(i = 0; i < n; i++) { dst_char[i] = src_char[i]; } } else { for(i = n; i > 0; i--){ dst_char[i - 1] = src_char[i - 1]; } } return dst; }