2.qq(int &q), 这里是一个引用作为函数qq的形式参数,如果说实际参数是a,即调用的时候这样写,qq(a);那么就等价于在子函数qq中 int &q=a q就是a的别名!
3.qq(int q) 这里就是一个整型数作为形式参数了,实际参数的值就等于形式参数q的值。
指针和引用确实很难理解,要多看书 多理解 多运用才能很好掌握!
PS 楼上有一点说错了, int *q; int a=2; q=a; //应该是q=&a!
第2个回答 2007-07-19
*在声明变量时作为指针类型的标志存在,在利用指针时作为间接访问符存在。 例子: int *q;//定义一个整型指针变量q int a=2; q=&a;//让指针q指向a,则*q就表示a的值2,若调用printf("%d",*q);则输出为2 &是取地址符,得到其后变量的地址 最常见的运用: int q; scanf("%d",&q);//因为scanf函数是将键盘输入的值传递给变量的地址,所以这里必须使用&来获得q的地址 因为作用不一样,当然用的场合也不会一样