<<数据结构2.2>>C++中的参数传递

<<数据结构2.2>>C++中的参数传递,第1张

<<数据结构2.2>>C++中的参数传递

参数传递有两种方式
1.值传递
2.地址传递

  • 1.参数为指针变量
  • 2.参数为引用类型
  • 3.参数为数组名
值传递

把实参的值传送给局部工作区相应的副本中,函数使用这个副本执行必要的功能。函数修改的是副本的值,实参的值不变。

void main()
{float a,b;
cin>>a>>b;
swap(a,b);
cout< 


当被调用函数执行完毕,那么m,n从内存中就释放了,返回到函数调用的地方,a,b并没有改变。

地址传递 指针变量作参数 1.形参变化影响实参
void main()
{float a,b,*p1,*p2;
cin>>a>>b;
p1=&a;p2=&b;
swap(p1,p2);
cout< 

形参变化不影响实参
void main()
{float a,b,*p1,*p2;
cin>>a>>b;
p1=&a;p2=&b;
swap(p1,p2);
cout< 

数组名做参数

传递的是数组的首地址
对形参数组所做的任何改变都将反映到实参数组中

void main (void){
char a[10]="hello";
sub(a);
cout< 

输出是:world

引用类型做参数
void main(){
float a,b;
cin>>a>>b;
swap(a,b);
cout< 
  • 引用类型可以简单地理解为共用同一个地址
  • 引用类型作形参,在内存中并没有产生实参的副本,它直接对实参 *** 作;而一般变量作参数,形参和实参占用不同的存储单元。因此,当参数传递的数据量大时,用引用传递的时间和空间效率比较好。
  • 指针参数容易产生错误阅读性差

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4653907.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-06
下一篇 2022-11-06

发表评论

登录后才能评论

评论列表(0条)

保存