C 프로그래밍에서 memmove()를 사용하여 배열을 복사하는 방법

C Peulogeulaeming Eseo Memmove Leul Sayonghayeo Baeyeol Eul Bogsahaneun Bangbeob



배열은 프로그래머가 단일 변수에 동일한 데이터 유형의 여러 항목을 저장할 수 있게 해주는 C 프로그래밍 언어의 기본 요소입니다. 프로그래머가 한 배열의 내용을 다른 배열로 복제해야 하는 경우가 있습니다.

memmove() 함수란?

C 라이브러리 함수 메모리무브() 한 메모리 주소에서 다른 메모리 주소로 특정 수의 바이트를 복사하는 데 사용됩니다. 중복되는 데이터 영역에 영향을 받지 않기 때문에 효율적이고 생산적인 데이터 복사 기술입니다. 사용할 때 메모리무브() 배열을 복사하려면 몇 가지 유의해야 할 사항이 있습니다. 함수에는 먼저 두 개의 포인터가 제공되어야 합니다. 하나는 소스 메모리 위치를 나타내고 다른 하나는 대상 메모리 위치를 나타냅니다. 원본에서 대상으로 복사할 바이트의 수량도 지정해야 합니다.

그만큼 메모리무브() 메서드는 겹치는 소스를 처리하고 메모리의 어느 위치에서든 순서에 관계없이 데이터를 복사할 수 있는 유연한 함수입니다. 유일한 단점은 다음과 같은 다른 복사 방법보다 시간이 조금 더 걸린다는 것입니다. memcpy().







C 프로그래밍에서 memmove()를 사용하여 배열을 복사하는 방법

그만큼 메모리무브() 함수는 라이브러리이며 구문은 다음과 같습니다.



무효의 * 메모 ( 무효의 * 시작 , const 무효의 * 소스 , size_t N ) ;

포인터 무효 * 대상 소스 배열의 내용이 복사될 대상 배열을 지정합니다. 복사하려는 소스 배열에 대한 포인터는 const입니다. 무효 * src . 소스 배열에서 대상 배열로 복사하려는 바이트 수는 인수로 지정됩니다. size_t n .



예를 들어 다음 코드 줄을 살펴보십시오.





#include

#include <문자열.h>

정수 기본 ( ) {

정수 source_array [ ] = { 1 , 2 , , 4 , 5 } ;

정수 목적지 배열 [ 5 ] = { 0 } ;

size_t 크기 = 크기 ( source_array ) ;

메모 ( 목적지 배열 , source_array , 크기 ) ;

~을 위한 ( 정수 = 0 ; < 5 ; ++ ) {

printf ( '%d' , 목적지 배열 [ ] ) ;

}

반품 0 ;

}

소스 배열 및 대상 배열 배열은 위의 코드에서 먼저 정의됩니다. 대상 배열은 처음에는 비어 있지만 소스 배열에는 1에서 5까지의 요소가 있습니다. 크기의() 그런 다음 연산자를 사용하여 소스 배열의 크기를 결정하고 그 결과를 size 변수에 저장합니다. 소스 어레이의 내용이 대상 어레이에 복사됩니다.

산출

결론

C 프로그래밍 언어는 다음을 사용하여 배열을 복사하는 효과적이고 신뢰할 수 있는 방법을 제공합니다. 메모리무브() 기능. 다재다능함은 중첩 메모리를 처리하는 능력에서 비롯되며 간단한 구문 덕분에 모든 C 프로젝트에서 사용할 수 있습니다.