[C] memmove / memmove.c / memmove in c
2022. 7. 25. 17:35ㆍ🧑🏻💻/C & C++

void *memmove(void *dst, const void *src, size_t len)
{
unsigned char *dest;
unsigned char *source;
dest = (unsigned char *)dst;
source = (unsigned char *)src;
if (dst < src)
{
while (len--)
*dest++ = *source++;
}
else if (dst > src)
{
while (len--)
*(dest + len) = *(source + len);
}
return (dst);
}
| DESCRIPTION | memmove함수는 비파괴적인 방식으로 사용되는 복사입니다. |
| 변수명 | 설명 |
| void *dst | 설정할 메모리 주소 |
| const void *src | 복사할 메모리 |
| size_t len | 복사할 길이 (byte 단위) |
| return | |
| 성공 | dst의 메모리 시작 주소. |
memmove는 주소값을 비교한 후 복사 시작.
앞에서부터 복사할 것인지 뒤에서부터 복사할 것인지 확인 후 복사.
'🧑🏻💻 > C & C++' 카테고리의 다른 글
| [C] substr / substr.c / substr in c (0) | 2022.09.14 |
|---|---|
| [C] memset / memset.c / memset in c (0) | 2022.07.25 |
| [C] memcpy / memcpy.c / memcpy in c (0) | 2022.07.25 |
| [C] memcmp / memcmp.c / memcmp in c (0) | 2022.07.25 |
| [C] memchr / memchr.c / memchr in c (0) | 2022.07.25 |