2个回答
展开全部
C++三种传递方式
(1)
传值,形参的改变【不会】导致实参改变
void fun(int a){//a是形参
a++;
}
int main(){
int a=1;
fun(a);//这里的a是实参,a的值不会改变
}
(2)
传址,形参的改变【会】导致实参改变
void fun(int *a){//a是形参,代表地址
*a++;
}
int main(){
int a=1;
fun(&a);//这里的&a【a的地址】是实参,a的值会改变
}
(3)
引用(传址的另一种形式),形参的改变【会】导致实参改变
void fun(int &a){//a是形参,a为引用数据类型,形参值的改变会导致实参改变
a++;
}
/******************/
int D=1;
int &fun(int a){//返回类型为引用数据类型,就可以对返回值(必须是全局变量,不然修改无效)修改
return D;//返回全局变量
}
int main(){
int a=1;
fun(a)=10;
//全局变量D值为10;
}
(1)
传值,形参的改变【不会】导致实参改变
void fun(int a){//a是形参
a++;
}
int main(){
int a=1;
fun(a);//这里的a是实参,a的值不会改变
}
(2)
传址,形参的改变【会】导致实参改变
void fun(int *a){//a是形参,代表地址
*a++;
}
int main(){
int a=1;
fun(&a);//这里的&a【a的地址】是实参,a的值会改变
}
(3)
引用(传址的另一种形式),形参的改变【会】导致实参改变
void fun(int &a){//a是形参,a为引用数据类型,形参值的改变会导致实参改变
a++;
}
/******************/
int D=1;
int &fun(int a){//返回类型为引用数据类型,就可以对返回值(必须是全局变量,不然修改无效)修改
return D;//返回全局变量
}
int main(){
int a=1;
fun(a)=10;
//全局变量D值为10;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一边哭哭啼啼说难求助,一边却无题目无图片大家虽然同情但也帮不上忙啊啊。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询