可以通过三种方式将结构的值从一个函数传递到另一个函数。它们如下-
将单个成员作为函数的参数传递。
将整个结构作为参数传递给函数。
将结构的地址作为函数的参数传递。
现在,让我们看看如何将结构元素的单个成员作为函数的参数传递。
每个成员在函数调用中作为参数传递。
它们被独立地收集在函数标题中的普通变量中。
下面给出的是一个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
考虑另一个示例,其中,下面说明了一个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