본문으로 바로가기

바다야크

  1. Home
  2. 컴퓨터/프로그래밍
  3. C언어 memcpy 함수 메모리 영역 복사

C언어 memcpy 함수 메모리 영역 복사

· 댓글개 · 바다야크

C memcpy() 메모리 영역 복사 함수

메모리 영역을 복사합니다. 이와 유사한 함수로 memmove()가 있습니다만 이 함수와는 달리 동일 영역, 즉 자기 자신에 대한 복사는 할 수 없습니다.

  • 헤더: string.h
  • 형태: void *memcpy(void *s1, const void *s2, size_t n)
  • 인수: void *s1 복사될 메모리의 포인터
    void *s2 복사할 메모리의 포인터
    size_t size 복사할 바이트 갯 수
  • 반환: void * s1 포인터를 반환하며 실패하면 NULL을 반환한다.

C언어 memcpy() 함수 예제

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main( void)
{
   char   *ptr_sour = "badayak.com";
   char   *ptr_dest;


   ptr_dest = (char *)malloc( 20);
   memcpy( ptr_dest, ptr_sour, strlen( ptr_sour)+1);   // NULL까지 포함하기 위해 +1

   printf( "%s\n", ptr_dest);

   free( ptr_dest);

   return 0;
}

C언어 memcpy() 예제 실행 결과

]$ ./a.out
badayak.com
]$
SNS 공유하기
💬 댓글 개
이모티콘창 닫기
울음
안녕
감사해요
당황
피폐

이모티콘을 클릭하면 댓글창에 입력됩니다.