logo

C/C++의 memcpy()

C 및 C++의 memcpy() 함수는 한 위치에서 다른 위치로 메모리 블록을 복사하는 데 사용됩니다. 다른 복사 기능과 달리 밈피 함수는 저장된 데이터 유형에 관계없이 한 메모리 위치에서 다른 메모리 위치로 지정된 바이트 수를 복사합니다.

에서 선언됩니다. 헤더 파일. C++에서는 내부에도 정의되어 있습니다. 헤더 파일.



memcpy의 구문

memcpy 함수는 다음과 같이 선언됩니다.

void * memcpy (void * to , const void * from , size_t numBytes );>

매개변수

    to : 복사된 데이터가 저장될 메모리 위치에 대한 포인터입니다. from : 데이터가 복사될 메모리 위치에 대한 포인터입니다. numBytes : 복사할 바이트 수입니다.

반환 값

  • 이 함수는 데이터가 복사된 메모리 위치에 대한 포인터를 반환합니다.

memcpy의 예

다음은 memcpy()의 작동을 보여주는 C 프로그램입니다.








// C program to demonstrate working of memcpy> #include> #include> int> main()> {> >char> str1[] =>'Geeks'>;> >char> str2[] =>'Quiz'>;> >puts>(>'str1 before memcpy '>);> >puts>(str1);> >// Copies contents of str2 to str1> >memcpy>(str1, str2,>sizeof>(str2));> >puts>(>' str1 after memcpy '>);> >puts>(str1);> >return> 0;> }>

nginx 변수
>

>

산출

str1 before memcpy Geeks str1 after memcpy Quiz>

memcpy()에 대한 중요 사항

  1. memcpy()는 오버플로나 을 확인하지 않습니다.
  2. memcpy()는 소스 주소와 대상 주소가 겹칠 때 정의되지 않은 동작을 발생시킵니다.

메모 : 메모무브() 중첩을 잘 처리하는 또 다른 라이브러리 함수입니다.

관련 기사

  • 자신만의 memcpy() 및 memmove() 작성