ด้วยอาร์เรย์ที่กำหนด ภารกิจคือการสร้างฟังก์ชันซึ่งจะส่งคืนตัวชี้ไปยังอาร์เรย์ของพอยน์เตอร์ฟังก์ชันจำนวนเต็ม
เพื่อที่เราจะใส่ค่าสองค่าและเรียกใช้ฟังก์ชันที่เปรียบเทียบทั้งสองค่าและตัวชี้ฟังก์ชันซึ่งจะคืนค่าที่อยู่หน่วยความจำของค่าที่มากกว่าและพิมพ์ออกมาเป็นผลลัพธ์ ตัวชี้ฟังก์ชันใช้เพื่อส่งที่อยู่ของฟังก์ชันต่างๆ ในเวลาที่ต่างกัน ซึ่งทำให้ฟังก์ชันมีความยืดหยุ่นและเป็นนามธรรมมากขึ้น ดังนั้นพอยน์เตอร์ของฟังก์ชันสามารถใช้เพื่อทำให้โค้ดง่ายขึ้นโดยให้วิธีง่ายๆ ในการเลือกฟังก์ชันเพื่อดำเนินการตามค่ารันไทม์
คำอธิบายของฟังก์ชัน big()
โปรแกรมส่งผ่านจำนวนเต็มสองจำนวนโดยอ้างอิงถึงฟังก์ชัน big( ) ที่เปรียบเทียบค่าจำนวนเต็มสองค่าที่ส่งไปและส่งคืนที่อยู่หน่วยความจำของค่าที่มากกว่า ค่าส่งคืนของ big( ) เป็นประเภทจำนวนเต็มซึ่งสามารถเป็นค่าที่ไม่ใช่ศูนย์และมีค่าเป็นศูนย์ได้
ตัวอย่าง
ป้อนข้อมูล − 7 13
ผลผลิต − ค่าที่มากกว่าคือ 13
ป้อนข้อมูล −8 6
ผลผลิต − ค่าที่มากกว่าคือ 8
คำอธิบาย − เรามีค่าจำนวนเต็มสองค่า และหลังจากเปรียบเทียบ ตัวชี้จะส่งคืนที่อยู่หน่วยความจำของค่าที่มากที่สุดในบรรดาค่าทั้งสอง
แนวทางที่สามารถทำตามได้
- ใช้ตัวชี้จำนวนเต็ม สมมุติว่า int *c.
- จากนั้นเริ่มต้นตัวแปรจำนวนเต็มสองตัว
- หลังจากนั้นเราจะป้อนค่าทั้งสอง
- เปรียบเทียบทั้งสองค่าที่กำหนด
- ตัวชี้สุดท้าย *c คืนค่าที่อยู่ของค่าที่มากกว่า
อัลกอริทึม
Start STEP 1-> Create the function and pass the argument. Int *big(int &, int &) END STEP 2-: call the main() function for entering and printing two values and initialize the pointer *c. int a, b, *c call c= big(a,b) print c END STEP 3-> compare the two Integer values passed to it and returns the memory address of the bigger value through pointer c. Comparing If(x>y) return(&x) else return(&y) END STOP
ตัวอย่าง
#include<iostream.h> Int *big(int&, int&); Int main( ){ Int a, b, *c; c= big(4, 7); cout<<”The bigger value is”<<*c<<”\n”; return 0; } Int *big(int&x, int&y){ If(x>y) return(&x); else return(&y); }
ผลลัพธ์
หากเรารันโปรแกรมข้างต้น มันจะสร้างผลลัพธ์ดังต่อไปนี้
The bigger value is 7 The bigger value is 5