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

อธิบายพอยน์เตอร์สำหรับการสื่อสารระหว่างฟังก์ชันในภาษาซี


เรารู้ว่าฟังก์ชันสามารถเรียกใช้ตามค่าและเรียกใช้โดยการอ้างอิงได้

  • หากพารามิเตอร์จริงไม่ควรเปลี่ยนในฟังก์ชันที่เรียก ให้ส่งผ่านค่าพารามิเตอร์
  • หากค่าของพารามิเตอร์จริงควรเปลี่ยนในฟังก์ชันที่เรียก ให้ใช้การอ้างอิงแบบส่งผ่าน
  • หากฟังก์ชันต้องส่งคืนค่ามากกว่าหนึ่งค่า ให้คืนค่าเหล่านี้ทางอ้อมโดยใช้การเรียกโดยอ้างอิง

ตัวอย่าง

ต่อไปนี้เป็นโปรแกรม C สำหรับการสาธิตการคืนค่าหลายค่า -

#include<stdio.h>
void main() {
   void areaperi(int,int*,int*);
   int r;
   float a,p;
   printf("enter radius of circle:\n");
   scanf("%d",&r);
   areaperi(r,&a,&p);
   printf("area=%f\n",a);
   printf("perimeter=%f",p);
}
void areaperi(int x,int *p,int *q) {
   *p=3.14*x*x;
   *q=2 * 3.14*x;
}

ผลลัพธ์

เมื่อโปรแกรมข้างต้นทำงาน มันจะสร้างผลลัพธ์ต่อไปนี้ -

Enter radius of circle: 5
Area=78.50000
Perimeter=31.40000

หมายเหตุ

  • พอยน์เตอร์มีประเภทที่เกี่ยวข้องกัน สิ่งเหล่านี้ไม่ได้เป็นเพียงประเภทตัวชี้ แต่เป็นตัวชี้ไปยังประเภทเฉพาะ
  • ขนาดของพอยน์เตอร์ทั้งหมดเท่ากัน ซึ่งเท่ากับขนาดบน int
  • ตัวชี้ทุกตัวเก็บที่อยู่ของตำแหน่งหน่วยความจำหนึ่งแห่งในคอมพิวเตอร์ แต่ขนาดของตัวแปรที่ตัวชี้อ้างอิงอาจแตกต่างกัน