主要的知识归纳来自于这位博主的CSDN博客:https://blog.csdn.net/tham_/article/details/45370607
相当于自己学习他的同时做下的笔记吧
将一个结构体变量中的数据传递给另一个函数,有下列3种方法:
用结构体变量名作参数。一般较少用这种方法。
用指向结构体变量的指针作实参,将结构体变量的地址传给形参。
用结构体变量的引用变量作函数参数。
用实例来说明:
1 structstu{2 intnum;3 floatscore;4 }
1. 结构体变量作为函数的参数,修改之后的成员不能返回到主调函数里 /* 虽不能返回整体,但是可以手动 return 结构体中的某一个成员 */
void func(struct stu t) { t.num=132456} /* 如果main里定义了stu d,那么func(d)只是将d的副本传进func函数,也就是把d复制了一份传进去,所以修改不到main里的d
2.结构体数组作为函数的参数,修改之后的成员可以返回
1 void funa(structstu t[])
/*或者是引用地址 void funa(struct stu &t) 这样效率又高又简洁。引用变量主要用作函数参数,它可以提高效率,而且保持程序良好的可读性(引用'&'是C++的新特性)2 {3 t[0].num=3000101; /*注意结构体数组元素的成员的引用形式*/
4 t[0].score=81.0;5 t[1].num=3000102;6 t[1].score=82.0;7 }
3.结构体指针,修改之后的成员也可以返回