Nama fungsi : lfind
File tajuk : <stdlib.h>
Prototipe fungsi : void* lfind(void* key,void* distrik,int *n,int m,
int (*fungsi)(const batal*,konstan batal*));
Fungsi : Digunakan untuk melakukan pencarian linier dari awal sampai akhir dalam suatu area tertentu
Parameter : void* penunjuk kunci ke kata kunci yang akan ditemukan
void* penunjuk distrik ke distrik yang akan ditemukan
int *n buffer hasil setelah pencarian
int m lebar area yang ingin dicari
int (*func)(const void*,const void*) Penunjuk ke suatu fungsi.
Nilai yang dikembalikan: Jika data kunci ditemukan, kembalikan alamat elemen yang ditemukan; jika tidak, kembalikan NULL;
Contoh program: Gunakan fungsi ini untuk mencari elemen 68 secara linier dalam array a, dan mengeluarkan prompt
#include<stdio.h>#include<stdlib.h>typedefint(*fc)(constvoid*,constvoid*);intcompare(constvoid*p1,constvoid*p2){//Bandingkan ukuran dua angka int*pi1= (int*)p1;int*pi2=(int*)p2;return(*pi1-*pi2);}intmain(void){intarr[5]={25,14,29,68,55};size_tn= 5;intkey=29;fcf=bandingkan;int*result=(int*)lfind(&key,arr,&n,sizeof(int),f);if(result){printf(Number%disfoundn,key); }else{printf(Nomor%tidak ditemukann,kunci);}return0;}
Hasil berjalan
Nomor 29 ditemukan