NAME

lfind, lsearch - 배열 순차 탐색

SYNOPSIS

#include <search.h>

void *lfind(const void *key, const void *base, size_t *nmemb,
            size_t size, int(*compar)(const void *, const void *));

void *lsearch(const void *key, void *base, size_t *nmemb,
            size_t size, int(*compar)(const void *, const void *));

DESCRIPTION

lfind()lsearch()는 각 size 바이트인 *nmemb 개 항목의 배열 base에서 key에 대해 순차 탐색을 수행한다. compar가 가리키는 비교 함수에는 두 인자가 있어서 차례로 key 객체와 배열 항목을 가리키게 돼 있으며, key 객체가 배열 항목과 일치하면 0을 반환하고 아니면 0 아닌 값을 반환한다.

lsearch()에서 일치 항목을 찾지 못하면 테이블 끝에 key 객체를 삽입하고 *nmemb를 증가시킨다. 일치 항목이 확실히 존재하든지 아니면 여유 공간이 있든지 해야 한다.

RETURN VALUE

lfind()는 일치하는 배열 항목에 대한 포인터를 반환하며 일치 항목이 없으면 NULL을 반환한다. lsearch()는 일치하는 배열 항목에 대한 포인터를 반환하며 일치 항목이 없으면 새로 추가한 항목에 대한 포인터를 반환한다.

ATTRIBUTES

이 절에서 사용하는 용어들에 대한 설명은 attributes(7)를 보라.

인터페이스 속성
lfind(), lsearch() 스레드 안전성 MT-Safe

CONFORMING TO

POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD. libc-4.6.27부터 libc에 있음.

BUGS

이름이 적절치 않다.

SEE ALSO

bsearch(3), hsearch(3), tsearch(3)


2021-03-22