【求助】指针和引用的区别

函数的参数可以定义为指针类型(*),也可以定义为引用(&),似乎都可以。
反正都是指针,不知道有什么区别,何时用指针,何时用引用,请高手指点。     Re:【求助】指针和引用的区别

C并不支持引用。在C++中引用其实就是一种偷懒的指针传递的方式。在形式上很象数值传递,不象指针传递那样迫使用户使用指针进行运算。而效果却和指针传递方式一样。

引用并不指针,应该尽可能使用。     Re:【求助】指针和引用的区别

void change1( int * a , int * b )
{
   int c;
   c = * a;
   * a = * b;
   *b  = * a;
}//使用指针做参数传递

void change2 ( int & a ,int & b)
{
    int c;
    c = a ;
    a = b;
    b = c;
} //使用引用做参数传递

void main ()
{
int a = 1;
int b = 2;
change1 (&a,&b); //调用第一个函数以指针方式来转换 传递的是指针
change2(a,b);      //调用第二个函数以指针方式来转换 传递的是引用
}     Re:【求助】指针和引用的区别

不难看出,采用引用传递简明干净,干吗不用?如果你用指针去理解引用的用法的话,不免会糊涂起来,因为它只是一种约定而已。     Re:【求助】指针和引用的区别

引用调用是直接传递原来变量的地址,而指针则相当于复制原先变量的地址在进行处理,这两者之间谁优谁劣也就很明显了




欢迎光临 空网论坛 (http://bbs.kongweb.net/) 作者: hjiaming    时间: 2003-3-1 09:30