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

本文详细解释了在C/C++中指针的值传递、指针的指针以及指针引用的概念与用法,并通过实例展示了如何利用这些特性在函数间有效传递数据,特别强调了在结构体和链表等数据结构中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

指针的传递
当把指针作为一个参数传给函数使用时,传递的是指针的一个副本,即指针的值传递。如果在函数内部修改指针时会出现问题,这样只是修改指针的副本,而原来的指针保留着原来的值。
指针的指针
将指针的指针作为参数传递,即传递一个指向存储地址内存的指针。
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中的对链表节点的修改,原节点也会修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值