当前位置: 首页> 财经> 创投人物 > 江门制作网站公司_智能建造专业学什么_百度关键词收费标准_百度竞价推广账户

江门制作网站公司_智能建造专业学什么_百度关键词收费标准_百度竞价推广账户

时间:2025/8/12 1:30:39来源:https://blog.csdn.net/qq_48917474/article/details/147011529 浏览次数:0次
江门制作网站公司_智能建造专业学什么_百度关键词收费标准_百度竞价推广账户

在参数传递时,被传递到函数的可以变量的值、地址、引用

一、传值

参数以 值 的方式传递。

#include<iostream>using namespace std;void changeAge(int age,int newAge);int main()
{int age=24;cout<<"My age is "<<age<<"\n";  //24changeAge(age,age+1); //以地址的方式传递参数 cout<<"Now my age is "<<age<<"\n"; //24return 0;
}void changeAge(int age,int newAge)
{age=newAge;cout<<"In this,my age is "<<age<<"\n"; //25
}



二、传址

参数以地址的方式传递,函数参数这里可以用指针(指针里存放的是地址)。

想要获取某个变量的地址,只能需要再变量面前加一个“取地址(&)”操作符就行了。

注意:如果传过去的是 地址,在函数中必须要通过“ *” 对指针进行解引用,除非你有其他用途。 

案例1:

#include<iostream>using namespace std;void changeAge(int *age,int newAge);int main()
{int age=24;cout<<"My age is "<<age<<"\n";  //24changeAge(&age,age+1); //以地址的方式传递参数 cout<<"Now my age is "<<age<<"\n"; //25return 0;
}void changeAge(int *age,int newAge)
{*age=newAge;cout<<"In this,my age is "<<*age<<"\n"; //25
}

 


案例2:实现数值的调换

#include <iostream>using namespace std;void swap(int *x ,int *y);int main()
{int x,y;cout<<"请输入另个不同的值:";cin>>x>>y;swap(&x,&y);//参数以地址的方式传递 
//	cout<<"调换后输出:"<< x <<''<< y <<''<< "\n\n"; //报错 cout<<"调换后输出:"<< x <<' '<< y <<' '<< "\n\n"; //'' 中间记得加空格 return 0;
}void swap(int *x ,int *y)
{int temp;temp=*x;*x=*y;*y=temp;
}



三、传引用

参数以引用传递方式传递:使用某种约定使得在调用该函数时不需要使用指针的语法。

他跟我们传址的目的是一样的,都是把地址传递给函数,但语法不同更加容易使用了。

#include <iostream>using namespace std;void swap(int &x ,int &y);int main()
{int x,y;cout<<"请输入另个不同的值:";cin>>x>>y;swap(x,y);//这里编译器会自动把传过来的整型变量翻译成地址,而不是以变量的形式传递过去 
//	cout<<"调换后输出:"<< x <<''<< y <<''<< "\n\n"; //报错 cout<<"调换后输出:"<< x <<' '<< y <<' '<< "\n\n"; //'' 中间记得加空格 return 0;
}void swap(int &x ,int &y)
{int temp;temp=x;x=y;y=temp;
}

 



四、反汇编对比三种传递方式分析讲解运行原理 


未完待续。。。

关键字:江门制作网站公司_智能建造专业学什么_百度关键词收费标准_百度竞价推广账户

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: