Nombre de la función : lfind
Archivo de encabezado : <stdlib.h>
Prototipo de función : void* lfind(void* key,void* distrito,int *n,int m,
int (*func)(const void*,const void*));
Función : Se utiliza para realizar una búsqueda lineal de principio a fin dentro de un área determinada.
Parámetros : puntero clave void* a la palabra clave que se encontrará
void* puntero de distrito al distrito que se va a encontrar
int *n buffer de resultados después de la búsqueda
int m ancho del área a encontrar
int (*func)(const void*,const void*) Un puntero a una función. Esta función se utiliza para comparar los tamaños de dos elementos.
Valor de retorno: si se encuentran los datos clave, devuelve la dirección del elemento encontrado; de lo contrario, devuelve NULL;
Ejemplo de programa: utilice esta función para buscar linealmente el elemento 68 en la matriz a y generar un mensaje
#include<stdio.h>#include<stdlib.h>typedefint(*fc)(constvoid*,constvoid*);intcompare(constvoid*p1,constvoid*p2){//Comparar el tamaño de dos números 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=compare;int*result=(int*)lfind(&key,arr,&n,sizeof(int),f);if(resultado){printf(Número%desencontradon,key); }else{printf(Número%disnotfoundn,clave);}return0;}
Resultados de ejecución
Número 29 encontrado