前言
在定义函数时函数括号中的变量名成为
形式参数
,简称形参或虚拟参数
;在主调函数中调用一个函数时,该函数括号中的参数名称为实际参数
,简称实参,实参可以是常量、变量或表达式
。
- 形参:变量只有在被调用时才
分配内存单元
,在调用结束
时,即刻释放
所分配的内存单元。因此,形参只在函数内部有效
。函数调用结束返回主调用函数后则不能再使用该形参变量。- 实参:可以是
常量、变量、表达式、函数
等,无论实参是何种类型的量,在进行函数调用时,它们都必须有确定的值,以便把这些值传送给形参
。因此应预先用赋值,输入等办法使参数获得确定值。单向传递
,只由实参传给形参
,而不能由形参传回来给实参。- 指针传递:传递地址,会在开辟一个空间来为形参存储。
一、引用传参
- 本质:地址传递类似,都是对地址进行操控;
- 注意:
- 若有数组,实参和形参数组的长度必须一样 ;
- 参数名需要一致;
1、传值
int a, b;
//调用
func(a, b);
// 函数名
func(int &a, int &b);
2、数组
int a[num];
func(a);
func(int (&a)[num]);
3、指针
char *src[100];
func(src);
func(char* (&src)[100]);