指针和引用的区别

1.指针:指针是一个变量,该变量存储的是一个地址,指向内存的一个存储单元。

   引用:与原来的变量实质是同一个东西,只不过是变量的另一个别名。

 

3.指针可以有多级,即可以有指针的指针,int **p;

    引用只能是一级,即不可以有引用的引用

4.指针的值可以为NULL(空),但是引用在定义是必须初始化,不能为空。

5.指针的值在初始化后可以改变,即可以指向其他存储单元,

    引用在进行初始化后就不会再改变了。

6.sizeof(引用)得到的是所指向变量的大小,

   sizeof(指针)得到的是指针本身的大小。

指针和引用的区别

7.指针和引用的自增运算(++)

指针自增是地址的增加,引用的自增是其代表的值的增加。

指针和引用的区别

8.参数传递过程中,当把指针作为参数传递时,是将实参的一个拷贝传递给形参,传递过后对指针变量进行修改并不影响原来的指针的值,如果想同步修改,则需要使用引用。即使用引用是,传递的是实参本身,而不是拷贝