C의 모든 타입은 C++ 기준 std::is_trivially_copyable_v를 만족함 (정확히는 C에서는 저렇지 않은 경우를 언어 차원에서 대처할 수 없다고 해야 맞음)

그래서 memcpy, memmove로 다 되니까 C에는 필요가 없는거임

C++ move 개념에서 오해하지 말아야 할게,
memcpy, memmove 되는 타입은 이동 시맨틱이 이점이 전혀 없음
std::string, std::vector 같은 것만 move하는게 더 빠른거임

int, float, int 배열/float 배열 같은 거에 move 쓰는 건 아무 의미도 없고, 컴파일러를 혼란스럽게만 할 뿐이라서 뻘짓임