当前位置:编程学习 > C/C++ >>

形参,实参,按值,按引用,按指针

形参:全称为"形式参数"是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传送的参数.
实参:全称为"实际参数"是在调用时传递个该函数的参数.
 
形参和实参的类型必须要一致,或者要符合隐含转换规则,
当形参和实参不是指针类型时,在该函数运行时,形参和实
参是不同的变量,他们在内存中位于不同的位置,形参将实
参的内容复制一份,在该函数运行结束的时候形参被释放,
而实参内容不会改变.
 
而如果函数的参数是指针类型变量,在调用该函数的过程
中,传个函数的是实参的地址,在函数体内部使用的也是
实参的地址,即使用的就是实参本身.所以在函数体内部
可以改变实参的值.
 
写一个交换a,b值的函数。
按值(C++):
 
函数声明:   swap(x,y){.....}
函数调用:    int a=5;int b=6;
swap(a,b)
注:把a和b的值分别传给x,y。其实a,b本身的值并没有改变,a,b并没有交换成功,要交换两个数的值不能使用按值传递。
cout<<a;    //a=5
cout<<a;    //b=6
 
引用(C++):
函数声明:   swap(&x,&y){.....}
函数调用:    int a=5;int b=6;
swap(a,b)
注:把a和b的值分别传给x,y。其实a,b本身的值并没有改变。
cout<<a;    //a=6
cout<<a;    //b=5
 
指针(C++):
函数声明:   swap(*x,*y){.....}
函数调用:    int *a=5;int *b=6;
swap(a,b)
注:把a和b的值分别传给x,y。其实a,b本身的值并没有改变。
cout<<a;    //a=6
cout<<a;    //b=5

作者“ERDP技术架构”

补充:软件开发 , C语言 ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,