1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
#include "my_memmove.h" void *my_memmove(void *dest, const void *src, size_t n) { char *d = dest; const char *s = src; if (dest > src) // reverse array { size_t l = n; for (; l > 0; l--) { d[l - 1] = s[l - 1]; } } else { for (size_t i = 0; i < n; i++) { d[i] = s[i]; } } return dest; }