include
#include <string.h> void *memmove(void *dest, const void *src, size_t len);
인자
- dest
복사가 진행될 목적지이다.void*의 형태로 string뿐 아니라 다른 값도 들어올 수 있다.- src
우리가 복사를 해야하는 값이 들어있는 포인터이다.- len
src에서부터len byte만큼dest에 복사를 한다.
memmove는 memcpy와 같은 목적으로 사용되는 녀석이다. 단지 다른 점이 있다면 임시버퍼를 사용해서 복사를 진행하기 때문에 메모리가 중첩되어 있더라도 복사를 진행할 수 있다는 것이다.
memmove를 구현하려면 어떤 방법들이 있을까??
별개의 임시 저장공간을 만들어서 복사한 후 dest에 복사를 한다.

복사가 될 위치를 조정한다.

이런 방법으로 구현을 할 수 있을 것 같다.
복사된 dest를 리턴해 준다.