اسم الوظيفة : lfind
ملف الرأس : <stdlib.h>
النموذج الأولي للوظيفة : void* lfind(void* key,void* District,int *n,int m,
int (*func)(const void*,const void*));
الوظيفة : تستخدم لإجراء بحث خطي من البداية إلى النهاية داخل منطقة معينة
المعلمات : مؤشر مفتاح فارغ* للكلمة الأساسية التي سيتم العثور عليها
باطلة* مؤشر المنطقة إلى المنطقة التي سيتم العثور عليها
int *n المخزن المؤقت للنتيجة بعد البحث
int m عرض المنطقة المراد العثور عليها
int (*func)(const void*,const void*) يتم استخدام مؤشر الدالة لمقارنة أحجام عنصرين.
قيمة الإرجاع: إذا تم العثور على البيانات الأساسية، قم بإرجاع عنوان العنصر الذي تم العثور عليه، وإلا قم بإرجاع NULL؛
مثال على البرنامج: استخدم هذه الوظيفة للبحث خطيًا عن العنصر 68 في الصفيف أ، وإخراج المطالبة
#include<stdio.h>#include<stdlib.h>typedefint(*fc)(constvoid*,constvoid*);intcompare(constvoid*p1,constvoid*p2){// قارن حجم رقمين 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