ส่งที่อยู่ของโครงสร้างเป็นอาร์กิวเมนต์ไปยังฟังก์ชัน -
-
ที่อยู่ของโครงสร้างจะถูกส่งผ่านเป็นอาร์กิวเมนต์ของฟังก์ชัน
-
มันถูกรวบรวมไว้ในตัวชี้ไปยังโครงสร้างในส่วนหัวของฟังก์ชัน
ข้อดี
-
ไม่มีการสูญเสียหน่วยความจำเนื่องจากไม่จำเป็นต้องสร้างสำเนาอีกครั้ง
-
ไม่จำเป็นต้องคืนค่ากลับเนื่องจากฟังก์ชันสามารถเข้าถึงโครงสร้างทั้งหมดโดยอ้อมและทำงานกับมันได้
ตัวอย่าง
#include<stdio.h>
struct date{
int day;
int mon;
int yr;
};
main (){
struct date d= {02,01,2010};
display (&d);
getch ();
}
display (struct date *dt){
printf("day = %d\n", dt->day);
printf("month = %d\n",dt->mon);
printf("Year = %d",dt->yr);
} ผลลัพธ์
day = 2 month = 1 Year = 2010