1. 指针的引用就是对指针变量的引用
解释一下就是
typedef int* PINT; //给指向整形的指针类型定义一个新名字PINT
PINT *p1; //定义一个指向指针的指针
PINT &p2; //为指针定义一个别名p2
2. 指针的引用有什么用
以链队初始化为例
typedef struct //结构体定义
{
QNode *front;
QNode *rear;
}LiQueue;
void initQueue(LiQueue *&lqu) //初始化队列
{
lqu = (LiQueue*)malloc(sizeof(LiQueue));
lqu -> front = lqu->rear = NULL;
}
函数形参为 *&lqu ,即传入的是对指向LiQueue的指针的引用,这样对传入的指针赋值,调用函数时传入的指针指向也会改变
如果形参LiQueue *lqu不是指针的引用,
那么对形参进行重新赋值不会影响到实参的值
原指针未受到影响,队列初始化失败
注意:
能否理解的重点是
如果不是指针引用
指针的指向改变并不能影响原指针的指向
指针指向的值的改变可以影响到原值
也就是说
如果不是指针引用,
形参指针指向改变对实参指针指向没有影响,
形参指针指向值大小改变,实参指针指向值大小随之改变
理解实参和形参是什么