C++指针,指针的引用,指针的赋值,指针传递与指针的引用传递

指针有时候真的不是很好懂下面下面我将利用调试的方式讲解一下指针到底是个什么东西
这里我使用了链表结构体


指针传递传递在这里插入图片描述

这张图片我们可以看出head指针的地址与head指针所指向的内容的地址也就是值的地址如下图:
在这里插入图片描述
继续Debug
在这里插入图片描述
显而易见p指针所在的地址与head不同
说明了什么?
说明了当指针作为函数参数传递指针其实就是值传递(也就是把head拷贝一份)如下图:
在这里插入图片描述
说到这里就还要再说一下因为函数局部变量P拿到了LNode的地址所以他完全可以操作这个变量 也可以free掉他如下图
在这里插入图片描述
这里要注意free函数使free掉指针指向内容而不是指针
不难发现LNode已经被free掉了
在这里插入图片描述

指针的引用:

指针的引用其实就是当前指针变量的别名,其实操作的还是这个指针变量 话不多说上图
在这里插入图片描述
可以看见他俩其实就是一个东西反应到内存图上就应该是(我自己YY的)
在这里插入图片描述
总结: 指针变量之间的赋值其实就是拷贝,但是要注意拷贝是指拷贝的指针,而指针的内容是完全相同的可以看第四个图

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值