memmove.c

来自「c库的部分源代码 用惯了操作系统提供的内存api,你是否了解系统的运行机制,这是」· C语言 代码 · 共 20 行

C
20
字号
/***********************************************************************\
*	Copyright 1990 Software Development Systems, Inc.		*
*	all rights reserved						*
\***********************************************************************/
#include <string.h>

void   *memmove ( s1, s2, n )
  void		*s1;
  const void	*s2;
  size_t	 n;
{ register unsigned char *dst = (unsigned char*) s1;
  register unsigned char *src = (unsigned char*) s2;
  register unsigned char *end;

    if ( dst < src )  for ( end=src+n ; src<end ; )  *dst++ = *src++;
    else  for ( end=src, src+=n, dst+=n; src>end; )  *--dst = *--src;

    return ( s1 );
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?