【C语言】结构体传递给函数的方式的应用

本文介绍了C语言中结构体传递给函数的三种方式:通过结构体成员、完整结构体以及结构体指针。重点讨论了结构体指针作为参数时的按引用调用,这种方式在不影响原结构体且提高效率的情况下,用于排序十个员工的工龄。通过实例展示了冒泡排序对结构体数组中工龄的排序过程。
摘要由CSDN通过智能技术生成

一般,将结构体传递给函数的方式有如下3种:
  1. 用结构体的单个成员作为函数参数,向函数传递结构体的单个成员(属于传值调用,不会影响相应的实参结构体的值)
  2. 用结构体变量做函数参数,向函数传递结构体完整结构(属于传值调用,不会影响相应的实参结构体的值)
  3. 用结构体指针结构体数组作函数参数属于按引用调用,会影响相应的实参结构体的值,向函数传递结构体地址,因为仅复制结构体首地址一个值给被调函数,相对于第二种方式,这种传递效率更高

通过结构体存储十个员工的个人信息,在通过冒泡排序对其工龄进行排序,最后输出:

(1)

#include <stdio.h>
#define N 4

struct worker
{
   
	char num[7];
	char name[11];
	int year;
	int salary;
};

void Sort(struct worker *p, int n);

int main(void)
{
   
	struct worker work[N];
	int i;
	for ( i = 0; i < N; i++ )
	{
   
		printf("请输入第%d个工人信息:", i+1);
		scanf("%s%s%d%d", work[i].num, work[i].name, &work[i].year, &work[i].salary)
  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值