본문 바로가기
IT 톺아보기/이런저런 공부

memmove 사용법

by 파초우 2023. 4. 21.
반응형

목차

memmove()란

해당 기능은 string.h 헤더 파이렝 정의되어 있고 src의 값을dest로 count길이만큼 복사하여 저장하는 함수이다.

만약, object가 중복이 된다면: 마치 char type이 일시적으로 char[] 형태로 변화하여 복사가 되어진다. 그래서 dest에는 Array 형태로 값이 복사됨

memmove() 사용 예시

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

int main(void) {

    char src[20] = "this is memmove func";
    char dest[20];

    printf("src is ->%s\n", src); /* this is memmove func */

    memmove(dest, src, sizeof(char) * 6);

    printf("src is ->%s\n", src); /* this is memmove func */
    printf("dest is ->%s\n", dest); /* this i*/

    return 0;
}

이러한 방식으로 code를 작성하는데 move라고 써져있지만 이동하는 것이 아니고 복사를 하는 방식이다. 이 기능은 메모리 영역이 겹치더라도 안전하게 복사를 수행할 수 있어, memcpy()에 비해 메모리 오류에 있어 안전한 방법이지만, 그만큼 영역이 겹치는지 여부를 파악해야하기 떄문에 memcpy()보다는 느림

그렇기에 자신이 구성하는 코드의 메모리 영역이 겹치는지 파악하고 적절한 함수를 사용하는 것을 권장한다.

반응형

'IT 톺아보기 > 이런저런 공부' 카테고리의 다른 글

UART protocol  (1) 2023.05.24
LIN이란?  (0) 2023.05.08
memset 사용법  (0) 2023.04.20
CAN Message  (0) 2023.04.19
memcpy 사용법  (0) 2023.04.18