Write a short C example that uses memmove correctly when source and destination overlap.