函数参数的引用型定义

函数

返回值类型 函数名(参数定义列表)
{

}
调用方法:函数名(参数列表);

1、有返回值
int add(int a,int b)
{
	return a+b;
}
调用:result = add(1,2); 
2、无返回值

如果没有返回值,定义函数的时候要用void。

void F() //函数所做的事情不需要从参数列表中传入数据,只靠函数本身的功能即可。
{
	...
}
调用:F();
3、普通变量引用型定义

错误示范:

int result = 0;
void getRusult(int r)
{
	++r;
}
调用:getResult(result);//只是把result的数值赋值给r

正确示范1: C++

int result = 0;
void getRusult(int &r)//引用型定义。直接引用result,result替换掉r
{
	r++;
}
调用:getResult(result);

正确示范2: 纯C:引用型定义是C++的语法,C是靠传入变量地址的方法实现的(指针*,取地址&)


int result = 0;
void getRusult(int *r)	//r是一个指针,要对它先取值,还原成整型变量, 
{
	++(*r);
}
调用:getResult(&result);//传result的地址 

4、指针型的引用型参数

错误示范

int *p = NULL;
void getResult(int *p)
{
	...
	P=q;
	...
}

正确示范1: C++

int *p = NULL;
void getResult(int *&P) 
{
	...
	P=q;
	...
}
调用:getResult(p); 

正确示范2: C

int *p = NULL;
void getResult(int **P) 		//改变传入指针的值,传指针的地址,即二级指针,指向指针的指针型 
{
	...
	*P=q; 								//*P是指针,而不是指向指针的指针,赋值,改变了P所指向的指针的值。加*号,还原出p 
	... 							
}
调用:getResult(&p); 				//传入p的地址,把p的地址赋值给了P, 

5、c改变后的值对我们很重要,才需要用引用型
void add(int a,int b,int &c)
{
	c=a+b;
}

6、一维数组作为参数的函数定义方法
void f(int x[],int n)		
{
	...;
}

第一个参数不需要限定数组的长度,第二个参数n,用来说明将来要传进函数加工的数组元素的个数,并不是指数组的总长度。

7、二维数组作为参数的函数定义方法
void f(int x[][5])
{
	...;
}

int a[10][5];
int b[10][3];
f(a);	//参数正确 
f(b);	//参数错误 第二个中括号里面要传入5

第一个中括号不需要写数组的长度,第二个中括号必须写数组的长度。
数组没有分引用和非引用。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值