언어 자료구조 알고리즘/C11 표준 라이브러리 함수

memcmp 함수 [C언어 표준 라이브러리 함수 가이드]

언제나휴일 2016. 1. 3. 15:30
반응형

memcmp


헤더 파일

[언어 자료구조 알고리즘/C11 표준 라이브러리 함수] - string.h


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는 서로 다릅니다.
m1m3는 서로 같습니다.


반응형