/********************************************************************************
memmove() copies a source memory buffer to a destination memory buffer.This
routine recognize overlapping buffers to avoid propogation.For cases where
propagation is not a problem, memcpy() can be used.
memmove()由src所指定的内存区域赋值count个字符到dst所指定的内存区域。
src和dst所指内存区域可以重叠,但复制后src的内容会被更改。
函数返回指向dst的指针。
原型:void *memmove( void* dest, const void* src, size_tcount );
用法:#include <string.h>
功能:由src所指内存区域复制count个字节到dest所指内存区域。
说明:src和dest所指内存区域可以重叠,但复制后dest内容会被更改。
函数返回指向dest的指针。 相关函数:memset、memcpy
memcpy不考虑内存重叠,而memmove会考虑,memcpy只是memmove的一个子集,
所以建议总是用memmove这样可以不考虑内存重叠问题。
******************************************************************/
/*因为参数类型为void指针,所以可以复制任意类型的数据*/
void * my_memmove(void * dst,const void * src,int count)
{
void * ret = dst;
assert( (dst!=NULL)&&(src!=NULL) );
&nb