黑马程序员技术交流社区

标题: 如果实参是指针 形参是引用 应该怎么调用函数?? [打印本页]

作者: 年华虚度    时间: 2015-5-26 22:30
标题: 如果实参是指针 形参是引用 应该怎么调用函数??
本帖最后由 年华虚度 于 2015-5-26 23:26 编辑

比如:  
int function1(int  &a)
{
return 1;
}
int function2(int *a)
{
return 1;
}
int function3(int  a)
{
return 1;
}
void main(){
int a;
int *b;
function1(a);
function1(????); //这个形参是引用  实参是指针要怎么写??
function2(&a);
function2(b);
function3(a);
function3(*b);  //这里也不确定!!
}
要把 *b传进去  要怎么写呀! 求教下大家!!!






作者: 年华虚度    时间: 2015-5-26 23:26
怎么没有人帮忙 解惑下!
作者: EggEgg    时间: 2015-5-26 23:38
每日一顶,加油·~
作者: ZSMAN    时间: 2015-5-27 00:08
你发错地方了吧~这里是java基础交流啊~function1(*b)应该能行~出门右转IOS~
作者: 18660975056    时间: 2015-5-29 22:06
加油啊把!!!!
作者: 小蒙    时间: 2015-5-29 23:08
顶一个!!!!!
作者: 卡布    时间: 2015-5-30 00:11
还没学过……
作者: jiatengde    时间: 2015-5-30 00:56
新人正在努力中
作者: forTomorrow    时间: 2015-5-30 08:31
之前我有学过C,function1里面的形式参数表示在内存中的地址值,所以第一个你标注问号的地方应该写b,还有你前面那个是错的,应该写成function1(&a);function2里面的形参表示指针 a指向的内容值,所以应该是这样function2(a)function2(*b),最后那个是对的function3里面的参数是变量a的值 所以应该用funtion(*b)
C忘记得差不多了,不过我想应该是对的,没测试过,你试试
作者: 年华虚度    时间: 2015-6-3 15:45
function1(这里应该是传个值进去 所以是传a或者*b)
function2(这里应该是传个地址进去,所以是&a或者b)
function3(这里应该是也是传个值进去,所以传a或者*b)
不知道这样理解对不对!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2