C函数定义时形参前的&与*,以及引用对应函数时的各种操作

情况一:(该情况改变实参a的数值)

void abbb(int &a)
{
a=a+1;
}
int main()
{
int a=2;
abbb(a);
return 0;
}

 

情况二:(该情况改变实参a)

int abbb(int *a)
{
*a=*a+1;
return 0;
}
int main()
{
int a=2;
abbb(&a);
printf("%d",a);
return 0;
}

 

情况三:(该情况不改变实参a)  (实际上该情况形参中 *a 是一个指针一样的东西,在函数中的a=a+1其实是a的地址+1了,在引用函数的时候&a就是把a的地址给了形参中的*a(指针) ,函数中想要对实参a操作就需要把函数中的a=a+1改成*a=*a+1)

void abbb(int *a)
{
a=a+1;
}
int main()
{
int a=2;
abbb(&a);
return 0;
}

 

posted @ 2020-04-27 21:25  hentai秃头大叔  阅读(841)  评论(0)    收藏  举报