指针的引用 *&

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不是指针的引用,
那么对形参进行重新赋值不会影响到实参的值
原指针未受到影响,队列初始化失败

注意:
能否理解的重点是
如果不是指针引用
指针的指向改变并不能影响原指针的指向
指针指向的值的改变可以影响到原值

也就是说
如果不是指针引用,
形参指针指向改变对实参指针指向没有影响,
形参指针指向值大小改变,实参指针指向值大小随之改变

理解实参和形参是什么

  • 17
    点赞
  • 61
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值