bsearch函数
概要:
#include <stdlib.h> void *bsearch(const void *key, const void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *));
描述:
该函数搜索数组,寻找与参数key指向对象相匹配的元素。参数base指向数组的初始元素,参数nmemb指定数组长度,参数size指定单个数组元素的大小,参数compar指向比较函数,该比较函数将参数key指向对象与数组元素进行比较。数组中所有元素按从小到大的顺序排列(实际上这意味着整个数组已经根据比较函数进行了排序。)。
参数compar指向比较函数的函数原型如下所示:
int (*compar)(const void *pKey, const void *pElement);
参数pKey与参数key指向相同的对象,参数pElement指向搜索数组的数组元素。如果参数pKey指向的对象小于、等于或者大于数组元素,比较函数返回一个小于、等于或者大于0的整数。
ISO/IEC 9899:2018标准定义了该函数的安全版本bsearch_s。
参数:
const void *key
指向搜索对象的指针。
const void *base
指向数组初始元素的指针。
size_t nmemb
数组长度。
size_t size
单个数组元素的字节数。
int (*compar)(const void *, const void *)
指向比较函数的指针。
返回值:
如果发现与参数key指向对象相匹配的元素,函数返回指向该元素的指针;如果存在多个匹配元素,ISO/IEC 9899:2018标准未明确说明匹配哪个元素。如果未发现与参数key指向对象相匹配的元素,函数返回空指针。
范例:
|
|
输出:
25 is found.
相关内容:
qsort | 对数组元素进行排序的函数。 |