#include
void* my_memmove(void* dest, const void* src, int num)
{
char* pdest = dest;
char* psrc = src;
assert(dest);
assert(src);
if((pdest >= psrc) && (pdest <= psrc+num))
{
while(num)
{
*(pdest+num-1) = *(psrc+num-1); //从后向前
num--;
}
}
else
{
while(num)
{
*pdest++ = *psrc++; //从前向后
num--;
}
}
return dest;
}
模拟实现memmove函数
最新推荐文章于 2023-10-28 02:15:21 发布