memcmp 함수

int memcmp(const void *base1, const void *base2, size_t n); 메모리를 비교하는 함수

입력 매개 변수 리스트

base1 비교 대상 데이터가 있는 버퍼

base1 비교 대상 데이터가 있는 버퍼

n 비교할 바이트 수

반환 값

같을 때 0 , base1이 클 때 양수, base2가 클 때 음수

사용 예

//C언어 표준 라이브러리 함수 가이드
//int memcmp(const void *base1, const void *base2, size_t n); 메모리를 비교하는 함수
//Member 데이터가 값이 같은지 비교
#include <string.h>
#include <stdio.h>

#define MAX_NAMELEN    20
typedef struct 
{
    char name[MAX_NAMELEN];
    int age;
}Member;


int main(void)
{
    Member m1={"홍길동",20};
    Member m2={"강감찬",27};
    Member m3={"홍길동",20};

    if(memcmp(&m1,&m2,sizeof(Member))==0)//m1과 m2 주소의 데이터가 같을 때
    {
        printf("m1과 m2는 서로 같습니다.\n");
    }
    else//m1과 m2 주소의 데이터가 다를 때
    {
        printf("m1과 m2는 서로 다릅니다.\n");
    }
    if(memcmp(&m1,&m3,sizeof(Member))==0)//m1과 m3 주소의 데이터가 같을 때
    {
        printf("m1과 m3는 서로 같습니다.\n");
    }
    else//m1과 m3 주소의 데이터가 같을 때
    {
        printf("m1과 m3는 서로 다릅니다.\n");
    }

    return 0;
}

출력

m1과 m2는 서로 다릅니다.
m1과 m3는 서로 같습니다.