[42soeul] memmove는 어떤 함수일까?

개발하는 곰댕이·2021년 4월 9일
0

42Seoul

목록 보기
16/45
  • include

#include <string.h>
void *memmove(void *dest, const void *src, size_t len);
  • 인자

    • dest
      복사가 진행될 목적지이다. void* 의 형태로 string뿐 아니라 다른 값도 들어올 수 있다.
    • src
      우리가 복사를 해야하는 값이 들어있는 포인터이다.
    • len
      src에서부터 len byte만큼 dest에 복사를 한다.

1. memmove란?

memmovememcpy와 같은 목적으로 사용되는 녀석이다. 단지 다른 점이 있다면 임시버퍼를 사용해서 복사를 진행하기 때문에 메모리가 중첩되어 있더라도 복사를 진행할 수 있다는 것이다.

memmove를 구현하려면 어떤 방법들이 있을까??

2. 구현방법

  • 별개의 임시 저장공간을 만들어서 복사한 후 dest에 복사를 한다.

  • 복사가 될 위치를 조정한다.

    이런 방법으로 구현을 할 수 있을 것 같다.

3. 리턴 값

복사된 dest를 리턴해 준다.

0개의 댓글