一级指针与二级指针的区别 -----在链表中的实例

一级指针与二级指针的区别:

在传递一级指针时,只有对指针所指向的内存变量做操作才是有效的;

在传递二级指针时,只有对指针的指向做改变才是有效的;


实例1:

int a=1;

int *p=&a;  // p为a变量的地址,通过*p可以得到a的值

int **q=&p;   // q为p指针的地址,通过**q可以得到a的值 


实例2:

在链表或者树的操作中,也需要用到二级指针,

比如创建链表的头指针:

在初始化链表函数中,传入头指针,并在函数中为该指针分配空间,此时就应该使用二级指针,如void initLinklist(Node **head);

而在添加删除结点的过程中,我们并没有改变函数参数指针的指向,而是通过传入的指针如Node *head,找到要删除结点的位置,并未对该指针做改变,因此退出函数后,该指针无影响。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值