*****结构体的嵌套使用 结构体成员作为函数的参数(三种方法和使用最多的地址传递)

本文详细介绍了C语言中向函数传递结构体的三种常见方式:通过结构体成员、完整结构体及结构体指针。强调了传递结构体指针可以改变原始值的特点,并展示了结构体在日程管理场景的应用。最后通过一个示例展示了如何使用结构体数组和函数调用来管理多人的日程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

向函数传递结构体的方式有三种:

1、向函数传递结构体的单个成员:结构体的单个成员作为函数参数,相当于变量在函数之间的传递,仅仅复制单个成员的内容。(很少使用)。

2、用结构体变量作为函数参数,向函数传递结构的完整结构:实际是复制所有结构体成员给函数。调用函数的结果不影响主调函数的结构体成员的值。传递后的值不能改变结构体原始值。

        用结构体变量作实参时,采取的是“值传递”方式,将结构体变量所占的内存单元的内容(结构体变量成员列表)全部顺序传递给形参,这里形参也得是结构体变量。

C语言允许对具有相同类型的结构体变量进行整体赋值,在赋值的时候是按照成员变量逐一的进行赋值。

#include <stdio.h>

typedef struct max   //定义一个标签为max的结构体
{
	int x;
	int y;
	int z;
}max;


int func(max s)   //最大值函数,三目运算符,形参为max类型的s
{
	s.z = s.x > s.y ? s.x:s.y;
	return s.z;
}

int main()
{
	max s = {0, 0 ,0};  //给结构体变量s赋值
	s.x= 1;              //修改结构体变量s中的成员x变量的值
	
	printf("%d = %d > %d ? %d : %d ",
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程图一乐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值