Latest web development tutorials
×

C курс

C Язык учебника C Краткое введение C параметры окружающей среды C Структура программы C Базовый синтаксис C Типы данных C переменная C постоянная C Storage Class C операторы C судья C циркуляция C функция C Обзорное правила C массив C указатель C строка C структура C союз C поле Bit C typedef C Входной и Выходной C грамотность документов C препроцессор C заголовок C Слепки C Обработка ошибок C Рекурсия C Переменный параметр C Управление памятью C Параметры командной строки C Классические 100 случаев

C Стандартная библиотека

C Стандартная библиотека - справочное руководство C Стандартная библиотека - <assert.h> C Стандартная библиотека - <ctype.h> C Стандартная библиотека - <errno.h> C Стандартная библиотека - <float.h> C Стандартная библиотека - <limits.h> C Стандартная библиотека - <locale.h> C Стандартная библиотека - <math.h> C Стандартная библиотека - <setjmp.h> C Стандартная библиотека - <signal.h> C Стандартная библиотека - <stdarg.h> C Стандартная библиотека - <stddef.h> C Стандартная библиотека - <stdio.h> C Стандартная библиотека - <stdlib.h> C Стандартная библиотека - <string.h> C Стандартная библиотека - <time.h>

Функции библиотеки C - bsearch ()

C стандартная библиотека - <stdlib.h> C стандартная библиотека - <stdlib.h>

описание

функции библиотеки Cнедействительными * bsearch (сопзЬ пустота * ключ , сопзЬ пустота * основа, size_t nitems, size_t размер, INT (* Compar) (сопзЬ пустота *, сопзЬ пустота *)) из nitemsмассива объектов для выполнения двоичногопоиска,базовая точка , чтобы быть Найтимассив,ключевой момент , чтобы найтиэлементы,размер определяет размер каждого элемента в массиве.

Содержание массива должны быть основаны на соответствующей функции сравненияCOMPAR в порядке возрастания.

заявление

Здесь () функция утверждение bsearch.

void *bsearch(const void *key, const void *base, size_t nitems, size_t size, int (*compar)(const void *, const void *))

параметры

  • ключ - указатель , чтобы найти тип элемента аннулировать *.
  • база - точка для выполнения массив указателей , чтобы найти первый тип объекта аннулировать *.
  • nitems - указывает на количество базовых элементов в массиве.
  • размер - размер каждого элемента в массиве, в байтах.
  • Compar - функция используется для сравнения двух элементов.

Возвращаемое значение

Если поиск успешен, функция возвращает указатель на указатель на массив соответствующих элементов, в противном случае она возвращает пустой указатель. ,

примеров

Следующий пример демонстрирует функцию bsearch () используется.

#include <stdio.h>
#include <stdlib.h>


int cmpfunc(const void * a, const void * b)
{
   return ( *(int*)a - *(int*)b );
}

int values[] = { 5, 20, 29, 32, 63 };

int main ()
{
   int *item;
   int key = 32;

   /* 使用 bsearch() 在数组中查找值 32 */
   item = (int*) bsearch (&key, values, 5, sizeof (int), cmpfunc);
   if( item != NULL ) 
   {
      printf("Found item = %d\n", *item);
   }
   else 
   {
      printf("Item = %d could not be found\n", *item);
   }
   
   return(0);
}

Давайте скомпилировать и запустить эту программу, которая приведет к следующему:

Found item = 32

C стандартная библиотека - <stdlib.h> C стандартная библиотека - <stdlib.h>