#include <string.h>
void *memcpy(void *s1, const void *s2, size_t n);
memcpy copies n characters from the object pointed to by s2
into the object pointed to by s1. The behaviour of memcpy is undefined
if copying takes place between objects that overlap.
memcpy returns the value of s1.
memcpy conforms to ISO/IEC 9899:1990 (C90) and ISO/IEC 9899:1999 (C99).