Nome da função : lfind
Arquivo de cabeçalho : <stdlib.h>
Protótipo de função : void* lfind(void* key,void* distrito,int *n,int m,
int (*func)(const void*,const void*));
Função : Usada para realizar uma pesquisa linear do início ao fim dentro de uma determinada área
Parâmetros : void* ponteiro-chave para a palavra-chave a ser encontrada
void* distrito ponteiro para o distrito a ser encontrado
int *n buffer de resultado após pesquisa
int m largura da área a ser encontrada
int (*func)(const void*,const void*) Um ponteiro para uma função é usada para comparar os tamanhos de dois elementos.
Valor de retorno: se os dados-chave forem encontrados, retorne o endereço do elemento encontrado, caso contrário, retorne NULL;
Exemplo de programa: Use esta função para pesquisar linearmente o elemento 68 na matriz a e gerar um prompt
#include<stdio.h>#include<stdlib.h>typedefint(*fc)(constvoid*,constvoid*);intcompare(constvoid*p1,constvoid*p2){//Compare o tamanho de dois 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(Number%disfoundn,key); }else{printf(Número%disnotfoundn,chave);}return0;}
Resultados em execução
Número 29 foi encontrado