欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

深入探索C语言中的结构体:定义、特性与应用-结构体传参

最编程 2024-07-07 07:06:30
...

结构体传参可以通过以下两种方式:

  1. 传值传参

将结构体的副本传递给函数。

//结构体传值传参
void print1(struct Stu s)
{
	printf("%d\n", s.age);
}
struct Stu s = { "tutu",20};
print1(s);

  1. 传地址传参

将结构体的指针传递给函数,以便在函数内部修改结构体的内容。

//结构体地址传参
void print2(struct S* ps)
{
 printf("%d\n", ps->num);
}
struct Stu s = { "tutu",20};
print2(&s);

结构体传参的时候,要传结构体的地址。

这是因为函数传参的时候,参数是需要压栈的。如果传递一个结构体对象的时候,结构体过大,参数压栈的的系统开销比较大,所以会导致性能的下降。此外,传递结构体地址也便于我们修改结构体的内容。