ส่งที่อยู่ของโครงสร้างเป็นอาร์กิวเมนต์ไปยังฟังก์ชัน -
-
ที่อยู่ของโครงสร้างจะถูกส่งผ่านเป็นอาร์กิวเมนต์ของฟังก์ชัน
-
มันถูกรวบรวมไว้ในตัวชี้ไปยังโครงสร้างในส่วนหัวของฟังก์ชัน
ข้อดี
-
ไม่มีการสูญเสียหน่วยความจำเนื่องจากไม่จำเป็นต้องสร้างสำเนาอีกครั้ง
-
ไม่จำเป็นต้องคืนค่ากลับเนื่องจากฟังก์ชันสามารถเข้าถึงโครงสร้างทั้งหมดโดยอ้อมและทำงานกับมันได้
ตัวอย่าง
#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