结构体作为函数参数
作用:将结构体作为参数向函数中传递
一般来说函数的参数传递方式有两种:
值传递 地址传递
具体可以参照这边文章
https://blog.youkuaiyun.com/zhang2039/article/details/108547625一般来说函数的参数传递方式有两种:
值传递 地址传递
结构体作为函数的参数传递使用的就是引用传递,这样做的好处就是它的效率和指针一样高。当结构体很大的时候,避免传递结构体变量很大的值,节省内存,提高效率
案例分析:
#include<iostream>
using namespace std;
#include<string>
struct student {
//成员列表
string name; //姓名
int age; //年龄
int score; //分数
};
//值传递
void printStudent(student stu ) {
stu.age = 18;
cout << " 姓名:" << stu.name << " 年龄: " << stu.age << " 分数:" << stu.score << endl;
}
//地址传递 void printStudent2(student *stu) {
stu->age = 28;
cout << "子函数中 姓名:" << stu->name << " 年龄: " << stu->age << " 分数:" << stu->score << endl;
}
int main() {
//定义结构体变量,并初始化。
struct student stu = { "小明",6,100, };
//值传递
printStudent(stu);
cout << "主函数中 姓名:" << stu.name << " 年龄: " << stu.age << " 分数:" << stu.score << endl;
cout << endl;
//地址传递
printStudent2(&stu);
cout << "主函数中 姓名:" << stu.name << " 年龄: " << stu.age << " 分数:" << stu.score << endl;
system("pause");
return 0;
}