相同点:
都是地址的概念;
指针指向一块内存,它的内容是所指内存的地址;而引用则是某块内存的别名。
不同点:
指针是一个实体,而引用仅是个别名;
引用只能在定义时被初始化一次,之后不可变;指针可变;引用“从一而终”,指针可以“见异思迁”;
引用没有const,指针有const,const的指针不可变;
引用不能为空,指针可以为空;
“sizeof引用”得到的是所指向的变量(对象)的大小,而“sizeof指针”得到的是指针本身的大小;
指针和引用的自增(++)运算意义不一样;
引用是类型安全的,而指针不是(引用比指针多了类型检查)
在c++中,&为引用,*表示指针
如
#include
int main()
{
int number=0,&rNumber,*pNumber;
rNumber=number;//表示要引用number,同义词了
pNumber=&number;//表示取出它的地址
cout<
}
由于字体可能存在切换问题,建议在调试的时候,重新输入一遍
虽然有不同的名称,不同的叫法,&始终是一种取地址运算符,*常见的做指针,其本质也是取值运算符,C和C++中没有区别