관리 메뉴

DREAM IT, WISH IT, DO IT

[C - 메모리 관리 함수] 본문

Programming/C/C++

[C - 메모리 관리 함수]

개발일지 오세빈 2012. 1. 26. 09:00
문자열과 메모리는 연속된 공간이라는 점에서 공통점이 있기 때문에 문자열 관리 함수와 원형이 비슷하다.

.
void *memcpy(void *dest, const void *src, size_t count);

int memcmp(const void *buf1, const void *buf2, size_t count);

void *memchr(const void *buf, int c, size_t count);

void *memset(void *dest, int c, size_t count);

void *memmove(void *dest, const void *src, size_t count);
.


strcpy <-> memcpy
strcmp <-> memcmp
위와 같이 기본적인 동작 방식은 대응되는 문자열 함수와 거의 동일히다. 하지만 몇가지 차이점이 있는데,
- 인수와 리턴값이 다르다. 문자열 함수들은 대부분 char형이지만 메모리 관리 함수들은 임의의 값이 대상이기 때문에
인수와 리턴값이 void 이다. 이 함수들은 바이트 단위로 작업을 하므로 타입에 상관없이 잘 동작한다.
- 메모리 관리 함수들은 길이를 알려 주지 않으면 어디까지 작업 대상인지 인식하지 못한다. 따라서 항상 count 인수가
따라다닌다. 즉, memcpy 함수는 strncpy 함수가 유사하다고 볼 수 있다.


0 Comments
댓글쓰기 폼