指针的引用,举例数据结构中的应用

指针的传递
当把指针作为一个参数传给函数使用时,传递的是指针的一个副本,即指针的值传递。如果在函数内部修改指针时会出现问题,这样只是修改指针的副本,而原来的指针保留着原来的值。
指针的指针
将指针的指针作为参数传递,即传递一个指向存储地址内存的指针。
func(int **p)
p是一个指针的指针
*p是被指向的指针,即一个地址,里面存储的
**p是两次解引用后实际的值
指针的引用
func(int &*p)
p是指针的引用
*p是指向int的指针
&*p是指针的引用

在定义结构体,实现数据结构时,使用指针的引用非常有用
struct listnode
{
int value;
node* next
}*Lnode;
listnode表示一个链表的节点,Lnode表示指向节点的指针,在进行参数传递时非常方便
Lnode head;
func(&head)
&head就是一个指针的引用,在func中的对链表节点的修改,原节点也会修改。

猜你喜欢

转载自blog.csdn.net/huanghxyz/article/details/78516462