函数原型:
void *mommove(void *dest, const void *src, size_t count);
将由src最指向内存开始的count个元素复制到dest所指向的内存区域
mommove函数存在三个条件:
1、当dest和src相同时不进行操作
2、当dst大于src时,执行正向拷贝
3、当dst小于src时,执行反向拷贝
void *mommove(void *dest, const void *src, size_t count) {
char* d = (char *)dest;
const char* s = (const char *)src; //可以有非const转换为const,但是反向不可以
if (d < s) {
while (count--)
*d++ = *s++;
}
else if(d > s){
while (count--)
*(d + count - 1) = *(s + count - 1);
}
return dest;
}
参考博客
https://blog.csdn.net/yzy1103203312/article/details/81006029?utm_source=blogxgwz2