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
]$
'컴퓨터 > 프로그래밍' 카테고리의 다른 글
C언어 memmove 함수 메모리 영역 복사, 자기 영역도 가능 (0) | 2020.03.12 |
---|---|
C언어 realloc 함수 동적 메모리 크기 변경 (0) | 2020.03.12 |
C언어 free 함수 할당받은 메모리를 반환 (0) | 2020.03.12 |