Nom de la fonction : lfind
Fichier d'en-tête : <stdlib.h>
Prototype de fonction : void* lfind(void* key,void* district,int *n,int m,
int (*func)(const void*,const void*));
Fonction : Permet d'effectuer une recherche linéaire du début à la fin au sein d'une zone donnée
Paramètres : void* key pointeur vers le mot clé à trouver
void* district pointeur vers le district à trouver
int *n tampon de résultat après la recherche
int m largeur de la zone à trouver
int (*func)(const void*,const void*) Un pointeur vers une fonction Cette fonction est utilisée pour comparer les tailles de deux éléments.
Valeur de retour : si les données clés sont trouvées, renvoyez l'adresse de l'élément trouvé ; sinon, renvoyez NULL ;
Exemple de programme : utilisez cette fonction pour rechercher linéairement l'élément 68 dans le tableau a et afficher une invite
#include<stdio.h>#include<stdlib.h>typedefint(*fc)(constvoid*,constvoid*);intcompare(constvoid*p1,constvoid*p2){//Comparez la taille de deux nombres 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;}
Résultats en cours d'exécution
Le numéro29 est trouvé