ส่งผ่านโครงสร้างทั้งหมดเป็นอาร์กิวเมนต์ไปยังฟังก์ชัน -
-
ชื่อของตัวแปรโครงสร้างถูกกำหนดเป็นอาร์กิวเมนต์ในการเรียกใช้ฟังก์ชัน
-
มันถูกรวบรวมในตัวแปรโครงสร้างอื่นในส่วนหัวของฟังก์ชัน
ข้อเสีย
สำเนาของโครงสร้างทั้งหมดถูกสร้างขึ้นอีกครั้งโดยสิ้นเปลืองหน่วยความจำ
โปรแกรม
โปรแกรมต่อไปนี้แสดงให้เห็นถึงการส่งผ่านโครงสร้างทั้งหมดเป็นอาร์กิวเมนต์ไปยังฟังก์ชัน -
#include<stdio.h> //Declaring structure// struct add{ int var1; int var2; }a; //Declaring and returning Function// void show(struct add a){ //Declaring sum variable// int sum; //Arithmetic Operation// sum=a.var1+a.var2; //Printing O/p// printf("Added value is %d",sum); } void main(){ //Declaring structure// struct add a; //Reading User I/p// printf("Enter variable 1 = "); scanf("%d",&a.var1); printf("Enter variable 2 = "); scanf("%d",&a.var2); //Calling function// show(a); }
ผลลัพธ์
Enter variable 1 = 30 Enter variable 2 = 40 Added value is 70