Computer >> Máy Tính >  >> Lập trình >> lập trình C

Làm cách nào để chuyển toàn bộ cấu trúc dưới dạng đối số vào hàm trong ngôn ngữ C?

Truyền toàn bộ cấu trúc làm đối số cho hàm -

  • Tên của biến cấu trúc được đưa ra dưới dạng đối số trong lệnh gọi hàm.

  • Nó được thu thập trong một biến cấu trúc khác trong tiêu đề hàm.

Bất lợi

Một bản sao của toàn bộ cấu trúc được tạo lại gây lãng phí bộ nhớ

Chương trình

Chương trình sau minh họa việc truyền toàn bộ cấu trúc làm đối số cho hàm -

#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);
}

Đầu ra

Enter variable 1 = 30
Enter variable 2 = 40
Added value is 70