Desc :
void *bsearch( const void *key, const void *base, size_t num, size_t width
, int (*compare )( const void *elem1, const void *elem2) );
key - 검색할 키 값
base - 검색할 배열
num - 배열의 갯수
width - 배열 요소가 차지하는 크기
compare - 비교함수
return - 검색된 위치에 대한 주소 값 / 검색되지 않음 NULL
Source Code :
#include <stdio.h>
#include <stdlib.h>
#include <search.h>
int intcmp(const void* v1, const void* v2);
void main()
{
int key =5, *ptr;
int array[10] = { 10,27,33,1,2,5,99,75,81,100 };
qsort(array, 10, sizeof(array[0]),intcmp); // 오름차순 정렬
ptr = bsearch(&key, array, 10, sizeof(array[0]), intcmp);
if (ptr)
{
puts("5를 찾았습니다.");
}
}
int intcmp(const void* v1, const void* v2)
{
return(*(int*)v1 - *(int*)v2);
}
Result :
'C' 카테고리의 다른 글
[C] 193 매크로 함수 정의 - 최대,최소값 구하는 함수 (1) | 2021.02.04 |
---|---|
[C] 192 매크로 상수 정의하기 (1) | 2021.02.04 |
[C] 190 숫자 정렬하기 qsort() (1) | 2021.02.04 |
[C] 189 난수 만들기 srand(), rand() (1) | 2021.02.03 |
[C] 188 x의 y승 pow() (1) | 2021.02.03 |