Consegui implementar essa função como pediu um exercício do livro (Linguagem C / Luis Damas) mas gostaria de ir um pouco além e acessar os elementos do vetor retornado por ela. Tentei ariscar uma gambiarra pra tentar acessar os dados mas não funcionou. Não sei se é hora de aprender isso mas fiquei curioso. Agradeço a ajuda.
#include <stdio.h>
char *memcpy (char *dest, char *orig, int n);
char *memcpy (char *dest, char *orig, int n)
{
int i;
for (i=; i<n; i++)
dest[i] = orig[i];
return dest;
}
main ()
{
char *tmp;
char orig[3] = {'a','b','c'};
char dest[3];
tmp = memcpy(orig, dest, 2);
printf ("%c", (char) tmp[1]);
}