memmove vs memcpy: Key Differences and Use Cases