본문 바로가기

카테고리 없음

[C언어] 메모리 관리 함수 - memcmp()

void main(void)
{
	char str1[10];
	char str2[10];
	printf("입력해 주세요 : ");
	scanf("%s", str1);
	printf("입력해 주세요 : ");
	scanf("%s", str2);

	if(memcmp(str1, str2, strlen(str1)) == 0)
	{
		printf("두 개의 문장은 일치합니다.\n");
	}
	else
	{
		printf("두 개의 문장이 일치하지 않습니다.\n");
	}
}

프로그램 실행화면


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


메모리 관리 함수 중 두 곳의 메모리 값이 같은지 다른지 확인해 주는 함수이다. strcmp()함수와 같은 동작을 한다.


메모리는 시작점과 끝지점을 알아야 하기에 그 길이를 꼭 인자로 보내주어야 한다. 따라서 strncmp()함수에 더 가깝다고 할 수 있다.


메모리 관리 함수와 문자열 조작함수의 차이로는 역시 인자의 형에 있다. 메모리 관리 함수는 void형으로 인자를 넘겨주기 때문에 어떤 형이든 실행할 수 있다. 상황에 맞게 사용하면 되겠다.