Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ประกาศฟังก์ชัน C/C++ ที่ส่งคืนตัวชี้ไปยังอาร์เรย์ของตัวชี้ฟังก์ชันจำนวนเต็ม


ด้วยอาร์เรย์ที่กำหนด ภารกิจคือการสร้างฟังก์ชันซึ่งจะส่งคืนตัวชี้ไปยังอาร์เรย์ของพอยน์เตอร์ฟังก์ชันจำนวนเต็ม

เพื่อที่เราจะใส่ค่าสองค่าและเรียกใช้ฟังก์ชันที่เปรียบเทียบทั้งสองค่าและตัวชี้ฟังก์ชันซึ่งจะคืนค่าที่อยู่หน่วยความจำของค่าที่มากกว่าและพิมพ์ออกมาเป็นผลลัพธ์ ตัวชี้ฟังก์ชันใช้เพื่อส่งที่อยู่ของฟังก์ชันต่างๆ ในเวลาที่ต่างกัน ซึ่งทำให้ฟังก์ชันมีความยืดหยุ่นและเป็นนามธรรมมากขึ้น ดังนั้นพอยน์เตอร์ของฟังก์ชันสามารถใช้เพื่อทำให้โค้ดง่ายขึ้นโดยให้วิธีง่ายๆ ในการเลือกฟังก์ชันเพื่อดำเนินการตามค่ารันไทม์

คำอธิบายของฟังก์ชัน 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