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; }

浙公网安备 33010602011771号