ชื่อฟังก์ชัน : lsearch
ไฟล์ส่วนหัว : <stdlib.h>
ต้นแบบฟังก์ชัน : void* lsearch(คีย์ void*, void* เขต, size_t *n, size_t m,
int (*func)(const เป็นโมฆะ*,const เป็นโมฆะ*));
ฟังก์ชั่น : ใช้เพื่อค้นหาเชิงเส้นตั้งแต่ต้นจนจบภายในพื้นที่ที่กำหนด
พารามิเตอร์ : void* ตัวชี้คีย์ไปยังคีย์เวิร์ดที่จะพบ
เขตเป็นโมฆะ* ชี้ไปยังที่อยู่เริ่มต้นของพื้นที่ที่ต้องการค้นหา
size_t *n ค้นหาจำนวนองค์ประกอบพื้นที่
size_t m ค้นหาขนาดของแต่ละองค์ประกอบในช่วง
int (*func)(const void*,const void*) ฟังก์ชันนี้ใช้เพื่อเปรียบเทียบขนาดขององค์ประกอบทั้งสอง
ค่าที่ส่งคืน : หากพบข้อมูลสำคัญในพื้นที่การค้นหา ที่อยู่ขององค์ประกอบที่พบจะถูกส่งกลับ
หากข้อมูลที่ค้นหาไม่อยู่ในพื้นที่ค้นหา ให้เพิ่มลงในพื้นที่ค้นหา จากนั้นส่งคืนที่อยู่ที่เพิ่ม
ตัวอย่างโปรแกรม : ใช้ฟังก์ชันนี้เพื่อค้นหาองค์ประกอบ 27 ในอาร์เรย์ a เชิงเส้นตรง และเพิ่มองค์ประกอบใหม่ลงในอาร์เรย์
#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(เป็นโมฆะ){intarr[5]={25,14,29,68,55};size_tn= 5;intkey=27;fcf=compare;int*result=(int*)lsearch(&key,arr,&n,sizeof(int),f);if(result){printf(Number%disfoundn,key); }else{printf(Number%disnotfoundn,key);}return0;}
ผลการวิ่ง
ค้นพบหมายเลข 27 แล้ว