#include <string.h>
void *memmove(void *dest, const void *src, size_t count);
The memmove() function copies count bytes from the object pointed to by src to the object pointed to by dest. The function allows copying between possibly overlapping objects as if the count bytes of the object pointed to by src must first copied into a temporary array before being copied to the object pointed to by dest.
The memmove() function returns the value of dest.