6结构体做函数参数
发布时间:
作用:将结构体作为参数向函数中传递
传递方式有两种:
- 值传递
- 地址传递
示例:
js
// 学生结构体定义
struct student
{
string name; // 姓名
int age; // 年龄
int score; // 分数
};
// 值传递
void printstudent(student stu)
{
stu.age = 28;
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()
{
student stu = {"张三", 18, 180};
// 值传递
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;
}
总结:如果不想修改主函数中的数据,用值传递,反之用地址传递