深入探索C语言中的结构体:定义、特性与应用-结构体传参
最编程
2024-07-07 07:06:30
...
结构体传参可以通过以下两种方式:
- 传值传参
将结构体的副本传递给函数。
//结构体传值传参
void print1(struct Stu s)
{
printf("%d\n", s.age);
}
struct Stu s = { "tutu",20};
print1(s);
- 传地址传参
将结构体的指针传递给函数,以便在函数内部修改结构体的内容。
//结构体地址传参
void print2(struct S* ps)
{
printf("%d\n", ps->num);
}
struct Stu s = { "tutu",20};
print2(&s);
结构体传参的时候,要传结构体的地址。
这是因为函数传参的时候,参数是需要压栈的。如果传递一个结构体对象的时候,结构体过大,参数压栈的的系统开销比较大,所以会导致性能的下降。此外,传递结构体地址也便于我们修改结构体的内容。
上一篇: 深入解析高斯过程:数学理论、重要概念和直观可视化全解
下一篇: C++友元函数和友元类的使用