85 – 메모리 영역 복사 함수

메모리 영역의 내용을 복사하는 것은 memcpy, memmove를 통해 쉽게 이용할 수 있다. 복잡한 과정을 상당히 간편하게 한 함수로, 시스템 프로그래밍을 하다 보면 많이 이용하게 될 것이다. (여러곳에서도 많이 이용한다만 필자의 경험상 시스템 프로그래밍에서 많이 이용하였다.)

  • 함수이름 | 기능
  • memcpy | 메모리 영역을 복사한다. 동일한 영역에 대한 덮어쓰기는 불가능하다.
  • memmove | 메모리 영역을 복사한다. 동일한 영역에 대한 덮어쓰기가 가능하다.

덮어쓰기 기능이 되느냐 안되느냐의 차이로 이해를 하면 쇱게 이해하여 적용할 수 있는데, 이것들도 간단하게 예제를 보고 사용법을 이해하면 될 것이다. 우선 memcpy를 이용한 방법을 보여주겟다.

스크린샷 2017-05-06 오후 2.02.48

memcpy를 사용하지 않았다면 for문을 이용해서 arr값을 ptr에 복사했을 것인데 memcpy를 통해 간단해졌다.

memmove의 경우에는 함수 의미가 동일하지만 덮어쓰기가 가능하다고 하였다. 그것이 어떤 차이인지를 보여줄 수 있는 예제를 만들었다. alphabet의 앞에 몇 부분을 덮어써서 복사를 한 것을 볼 수 있다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.