RHZ'S BLOG | 个人分享

  • 首页
  • 笔记
  • 小日常
  • 音乐
  • 读书
  • 软件分享
YOLO
  1. 首页
  2. 笔记
  3. C/C++
  4. 正文

将数组传递给函数|C++

2022年9月5日 135点热度 0人点赞 0条评论

将数组传递给函数

在 C++ 中,一个数组也可以作为参数传递给一个函数。

声明函数时,参数应该用方括号[] 来定义。

下面是一个例子:

void rhzArray(int arr[], int size) {
  for(int x=0; x<size; x++) {
    cout << arr[x];
  }
}

现在,我们可以在main() 中使用我们的函数,并在数组中调用它。

void rhzArray(int arr[], int size) {
  for(int x=0; x<size; x++) {
    cout << arr[x] << endl;
  }
}
int main() {
  int myArr[3]= {17, 30, 28};
  rhzArray(myArr, 3);
}

在代码中,rhzArray函数将数组作为参数(int arr[]),并使用for循环遍历数组。

我们在main() 中调用函数,这是我们将myArr数组传递给打印元素的函数的地方。

提示:请记住,要将数组作为参数传递给函数,请指定不带方括号的数组名称。

函数传递参数的方式

当调用函数时,有两种向函数传递参数的方式:

传值调用:该方法把参数的实际值复制给函数的形式参数。在这种情况下,修改函数内的形式参数对实际参数没有影响。

引用调用:该方法把参数的引用复制给形式参数。在函数内,该引用用于访问调用中要用到的实际参数。这意味着,修改形式参数会影响实际参数。

提示:默认情况下,C++ 使用传值调用来传递参数。

传值调用

向函数传递参数的传值调用方法,把参数的实际值复制给函数的形式参数。在这种情况下,修改函数内的形式参数不会影响实际参数。

默认情况下,C++ 使用传值调用方法来传递参数。一般来说,这意味着函数内的代码不会改变用于调用函数的实际参数。

下面是一个例子:

void swap(int x) {
  x = 50;
}

int main() {
  int var = 10;
  swap(var);
  cout << var;
}

// 输出 10

引用调用

向函数传递参数的引用调用方法,把引用的地址复制给形式参数。在函数内,该引用用于访问调用中要用到的实际参数。这意味着,修改形式参数会影响实际参数。

按引用传递值,参数引用被传递给函数,就像传递其他值给函数一样。

下面是一个例子:

void swap(int *x) {
  *x = 50;
}

int main() {
  int var = 10;
  swap(&var);
  cout << var;
}
// 输出 50

如你所见,我们使用操作符&的地址将变量直接传递给函数。

函数声明表示该函数将一个指针作为其参数(使用 * 运算符定义)。

结果,函数实际上已经改变了参数的值,通过指针访问它。

传值调用与引用调用

传值调用:修改函数内的形式参数对实际参数没有影响。

按引用传递:修改形式参数会影响实际参数。

一般来说,传值调用更快,更有效。当函数需要修改参数时,或者当需要传递一个数据类型时,如果通过引用调用,这会占用大量的内存,而且复制的代价很高。

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可
标签: 暂无
最后更新:2022年9月5日

RHZ

即使单枪匹马,我亦勇敢无畏

点赞
< 上一篇
下一篇 >

文章评论

取消回复
归档
  • 2023年2月
  • 2022年12月
  • 2022年11月
  • 2022年10月
  • 2022年9月
  • 2022年8月
  • 2022年7月
  • 2022年6月
  • 2022年5月
  • 2022年4月
  • 2022年3月
  • 2022年2月
  • 2021年12月
  • 2021年11月
  • 2021年10月
  • 2021年8月
  • 2021年7月

COPYRIGHT © 2022 RHZ的博客. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

渝ICP备2022008933号-1