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;
}

亲自试一试

提示:如果您希望函数更改结构体的数据,或者为了避免复制大型结构体,请使用引用。