思考:能否将结构,结构指针,结构数组作为参数传递给函数,也就是说我们来看看结构与函数有什么样的关系?
一.结构变量作为函数的参数
将结构变量作为参数传递给函数和传递一般变量的机制相同,都是单向值传递。不妨我们先看个例子吧。
//将结构类型作为函数参数,输出一个日期的值。
//首先定义一个日期结构类型date,包含年月日信息,然后定义一个函数,功能是输出date类型形参的值。
#include<stdio.h>
typedef struct date //定义一个结构类型
{
int year;
int month;
int day;
}DATE;
void PrintDate(DATE a) //形参为date结构类型的一个结构变量,其接受实参的结构变量
{
printf("%d-%d-%d",a.year,a.month,a.day);//注意调用结构成员的方法
}
int main(void)
{
DATE d = {2020,10,30}; //定义一个结构变量,并给它进行初始化
PrintDate(d); //调用函数,把结构变量作为函数的参数传递给函数
return 0;
}