如何使用结构元素将各个成员作为参数传递给函数?

可以通过三种方式将结构的值从一个函数传递到另一个函数。它们如下-

  • 将单个成员作为函数的参数传递。

  • 将整个结构作为参数传递给函数。

  • 将结构的地址作为函数的参数传递。

现在,让我们看看如何将结构元素的单个成员作为函数的参数传递。

  • 每个成员在函数调用中作为参数传递。

  • 它们被独立地收集在函数标题中的普通变量中。

例子1

下面给出的是一个C程序,用于演示将结构的各个参数传递给函数-

#include<stdio.h>
struct date{
   int day;
   int mon;
   int yr;
};
main ( ){
   struct date d= {02,01,2010}; // 结构日期d;
   display(d.day, d.mon, d.yr);// 将单个内存作为参数传递给函数
}
display(int a, int b, int c){
   printf("day = %d\n", a);
   printf("month = %d\n",b);
   printf("year = %d\n",c);
}
输出结果

执行以上程序后,将产生以下结果-

day = 2
month = 1
year = 2010

例子2

考虑另一个示例,其中,下面说明了一个C程序来演示将结构的各个参数传递给函数的过程-

#include <stdio.h>
#include <string.h>
struct student{
   int id;
   char name[20];
   float percentage;
   char temp;
};
struct student record; // 全局结构声明
int main(){
   record.id=1;
   strcpy(record.name, "Raju");
   record.percentage = 86.5;
   structure_demo(record.id,record.name,record.percentage);
   return 0;
}
void structure_demo(int id,char name[],float percentage){
   printf(" Id is: %d \n", id);
   printf(" Name is: %s \n", name);
   printf(" Percentage is: %.2f \n",percentage);
}
输出结果

执行以上程序后,将产生以下结果-

Id is: 1
Name is: Raju
Percentage is: 86.5