【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;
}
}
}
大家好,我是[爱做梦的子浩](https://blog.csdn.net/weixin_43124279),我是东北大学大数据实验班大三的小菜鸡,非常向往优秀,羡慕优秀的人,已拿两个暑假offer,欢迎大家找我进行交流😂😂😂
这是我的博客地址:[子浩的博客https://blog.csdn.net/weixin_43124279]
——
版权声明:本文为CSDN博主「爱做梦的子浩」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。