The memcpy() function copies n bytes from memory area src to memory area dst.
메모리 영역이 겹치면 안됨 -> 겹칠 경우는 memmove 사용
변수명 | 설명 |
---|---|
dst | 복사되는 메모리의 첫번째 주소 |
src | 복사할 메모리의 첫번째 주소 |
n | 복사할 길이 (byte 단위) |
성공 : the original value of dst.
실패 : NULL
void *memcpy(void *restrict dst, const void *restrict src, size_t n)
{
unsigned char *dst_ptr;
unsigned char *src_ptr;
size_t i;
i = 0;
dst_ptr = (unsigned char *)dst;
src_ptr = (unsigned char *)src;
if (dst_ptr == NULL && src_ptr == NULL)
return (NULL);
while (i++ < n)
*dst_ptr++ = *src_ptr++;
return (dst);
}