関数名: lfind
ヘッダー ファイル: <stdlib.h>
関数プロトタイプ: void* lfind(void* key,void* District,int *n,int m,
int (*func)(const void*,const void*));
機能: 指定されたエリア内で最初から最後まで線形探索を実行するために使用されます。
パラメータ: void* key 検索するキーワードへのポインタ
void* 検索対象の地区へのポインタ
int *n 検索後の結果バッファ
int m 検索する領域の幅
int (*func)(const void*,const void*) この関数は、2 つの要素のサイズを比較するために使用されます。
戻り値:キー データが見つかった場合は、見つかった要素のアドレスを返します。それ以外の場合は、NULL を返します。
プログラム例:この関数を使用して配列 a の要素 68 を線形検索し、プロンプトを出力します
#include<stdio.h>#include<stdlib.h>typedefint(*fc)(constvoid*,constvoid*);intcompare(constvoid*p1,constvoid*p2){//2 つの数値の大きさを比較します int*pi1= (int*)p1;int*pi2=(int*)p2;return(*pi1-*pi2);}intmain(void){intar r[5]={25,14,29,68,55};size_tn=5;intkey=29;fcf=compare;int*result=(int*)lfind(&key,arr,&n,sizeof(i nt),f);if(result){printf(Number%disfoundn,key);}else{printf(Number%disnotfoundn,key);}return0;}
走行結果
番号29が見つかりました