在函数调用中c++中的& 与 c中的* 有什么异同

如题所述

相同点:
  都是地址的概念;
  指针指向一块内存,它的内容是所指内存的地址;而引用则是某块内存的别名。
不同点:
  指针是一个实体,而引用仅是个别名;
  引用只能在定义时被初始化一次,之后不可变;指针可变;引用“从一而终”,指针可以“见异思迁”;
  引用没有const,指针有const,const的指针不可变;
  引用不能为空,指针可以为空;
  “sizeof引用”得到的是所指向的变量(对象)的大小,而“sizeof指针”得到的是指针本身的大小;
  指针和引用的自增(++)运算意义不一样;
  引用是类型安全的,而指针不是(引用比指针多了类型检查)
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-05-26
在c++中,&为引用,*表示指针

#include<iostream.h>
int main()
{
int number=0,&rNumber,*pNumber;
rNumber=number;//表示要引用number,同义词了
pNumber=&number;//表示取出它的地址
cout<<number<<endl;
cout<<&number<<endl;
cout<<*pNumber<<endl;
return o;
}
由于字体可能存在切换问题,建议在调试的时候,重新输入一遍
第2个回答  2012-05-26
虽然有不同的名称,不同的叫法,&始终是一种取地址运算符,*常见的做指针,其本质也是取值运算符,C和C++中没有区别
相似回答