结构与函数的关系

本文探讨了C语言中结构体作为函数参数时的传递方式,包括结构变量、结构指针和结构作为函数返回值的情况。分析了单向值传递的特点,指出结构变量作为参数时,形参的改变不会影响实参。结构指针作为参数则能有效修改主调函数中的结构变量,提高效率。结构作为函数返回值可以一次性返回多个值,但要注意内存管理。
摘要由CSDN通过智能技术生成

思考:能否将结构,结构指针,结构数组作为参数传递给函数,也就是说我们来看看结构与函数有什么样的关系?

一.结构变量作为函数的参数

将结构变量作为参数传递给函数和传递一般变量的机制相同,都是单向值传递不妨我们先看个例子吧。

//将结构类型作为函数参数,输出一个日期的值。
//首先定义一个日期结构类型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;
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值