/** * The memcpy() function copies n bytes from memory area src to memory area dest. The memory areas must not overlap. * @param dest * @param src * @param n * @return */ void * memcpy(void *restrict dest, const void *restrict src, long unsigned n) { char *pDest = (char *)dest; const char *pSrc = (const char *)src; while (n) { *(pDest++) = *(pSrc++); --n; } return dest; }