C++当函数的形参为数组时,函数对实参的修改有效,不用专门return来帮助我们修改实参
Posted 爱做梦的鱼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++当函数的形参为数组时,函数对实参的修改有效,不用专门return来帮助我们修改实参相关的知识,希望对你有一定的参考价值。
当函数的形参为引用或指针时,函数对实参的修改有效,不用专门return
当形参和实参不是指针类型时,在该函数运行时,形参和实参是不同的变量,他们在内存中位于不同的位置,形参将实参的内容复制一份,在该函数运行结束的时候形参被释放,而实参内容不会改变。我们需要使用return来帮助我们修改实参。
而如果函数的参数是指针类型变量,在调用该函数的过程中,传给函数的是实参的地址,在函数体内部使用的也是实参的地址,即使用的就是实参本身。所以在函数体内部可以改变实参的值,我们不需要return
#include <iostream>
using namespace std;
void a(int b[2]);
int main()
int c[2] = 1,2 ;
for (size_t j = 0; j < 2; j++)
cout << c[j] << " ";
cout << endl;
a(c);
for (size_t j = 0; j < 2; j++)
cout << c[j] << " ";
cout << endl;
void a(int b[2])
for (size_t j = 0; j < 2; j++)
b[j] = 0;
#include <iostream>
using namespace std;
void a(int b[][2]);
int main()
int c[2][2] = 1,2,3,4;
for (size_t i = 0; i < 2; i++)
for (size_t j = 0; j < 2; j++)
cout << c[i][j]<<" ";
cout << endl;
a(c);
for (size_t i = 0; i < 2; i++)
for (size_t j = 0; j < 2; j++)
cout << c[i][j] << " ";
cout << endl;
void a(int b[][2])
for (size_t i = 0; i < 2; i++)
for (size_t j = 0; j < 2; j++)
b[i][j] = 0;
以上是关于C++当函数的形参为数组时,函数对实参的修改有效,不用专门return来帮助我们修改实参的主要内容,如果未能解决你的问题,请参考以下文章