void *bsearch(const void *key, const void *base, size_t num, size_t size, int (*compare)(const void*, const void*))
Функция bsearch() выполняет двоичный поиск на отсортированном массиве, на который указывает параметр base, и возвращает указатель на первое число, соответствующее ключу, на который указывает параметр key. Число элементов в массиве задается переменной num, а размер каждого элемента указывается в переменной size.
Тип size_t определен в заголовочном файле stdlib.h как unsigned int.
Функция, на которую указывает параметр compare, сравнивает элемент массива с ключом. Она должна иметь следующий прототип:
int func_name(const void *arg1, const void *arg2)
Функция обязана возвращать следующие значения:
Если arg1 меньше, чем arg2, то возвращается величина, меньшая 0.
Если arg1 равен arg2, то возвращается величина 0.
Если arg1 больше, чем arg2, то возвращается число, большее 0.
Массив должен быть отсортирован по возрастанию таким образом, что наименьший адрес содержит наименьший элемент.
Если массив не содержит ключа, то возвращается нулевой указатель.