导航
×
   ❮   
HTML CSS JavaScript PHP Python C C++ Go Sass W3C Colors TypeScript ECMS

C++ 教程

C++ 简介 C++ 下载安装和环境配置 C++ 快速入门 C++ 语法 C++ 输出 C++ 注释 C++ 变量 C++ 用户输入 C++ 数据类型 C++ 运算符 C++ 字符串 C++ 数学运算 C++ 布尔值 C++ 条件语句 C++ Switch 语句 C++ While 循环 C++ For 循环 C++ Break/Continue 语句 C++ 数组 C++ 结构体 C++ 枚举 C++ 引用 C++ 指针 C++ 内存管理

C++ 函数

C++ 函数 C++ 函数参数 C++ 函数重载 C++ 作用域 C++ 递归 C++ Lambda 表达式

C++ 面向对象

C++ OOP C++ 类和对象 C++ 类方法 C++ 构造函数 C++ 访问修饰符 C++ 封装 C++友元函数 C++ 继承 C++ 多态

C++ 错误


C++ 将结构体传递给函数


将结构体传递给函数

您还可以将结构体传递给函数。

当您想在函数内部处理分组数据时,这非常有用:

示例

struct Car {
  string brand;
  int year;
};

void myFunction(Car c) {
  cout << "Brand: " << c.brand << ", Year: " << c.year << "";
}

int main() {
  Car myCar = {"Toyota", 2020};
  myFunction(myCar);
  return 0;
}
亲自试一试 »

注意:由于结构体是按值传递的,因此函数会获得结构体的副本。

这意味着原始数据不会被更改。

按引用传递

您也可以使用 & 按引用传递结构体。

这允许函数修改原始数据:

示例

struct Car {
  string brand;
  int year;
};

void updateYear(Car& c) {
  c.year++;
}

int main() {
  Car myCar = {"Toyota", 2020};
  updateYear(myCar);
  cout << "The " << myCar.brand << " is now from year " << myCar.year << ".";
  return 0;
}
亲自试一试 »

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


Copyright ©2026 蒙ICP备2026009383号 All Rights Reserved 提供的内容仅用于学习和测试,不保证内容的正确性。