C++ 将结构体传递给函数
将结构体传递给函数
您也可以将结构体传递给函数。
当您想在函数内部处理分组数据时,这非常有用:
实例
struct Car {
string brand;
int year;
};
void myFunction(Car c) {
cout << "品牌:" << c.brand << ",年份:" << c.year << "\n";
}
int main() {
Car myCar = {"丰田", 2020};
myFunction(myCar);
return 0;
}
注意:
由于结构体是按值传递的,函数会获得该结构体的一个副本。
这意味着原始数据不会被改变。
传引用
您也可以使用 & 通过引用传递结构体。
这允许函数修改原始数据:
实例
struct Car {
string brand;
int year;
};
void updateYear(Car& c) {
c.year++;
}
int main() {
Car myCar = {"丰田", 2020};
updateYear(myCar);
cout << "这辆 " << myCar.brand << " 现在是 " << myCar.year << " 年款了。\n";
return 0;
}
提示:如果您希望函数更改结构体的数据,或者为了避免复制大型结构体,请使用引用。