这就是你了解的指针吗?

1. 指针是什么?

请添加图片描述
在讲指针之前我们是需要先了解内存的请添加图片描述
请添加图片描述
指针是内存中一个最小单元的编号,也就是地址
请添加图片描述
取地址a是取的第一个字节的地址
请添加图片描述
把a的地址存储起来放在pa中,存起来跟不存起来是有区别的。请添加图片描述
平时口语中说的指针,通常指的是指针变量,是用来存放内存地址的变量
请添加图片描述
请添加图片描述
请添加图片描述
要知道*pa与pa的区别。
在这里插入图片描述
在这里插入图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
为4GB
在这里插入图片描述

2. 指针和指针类型

在这里插入图片描述
请添加图片描述
为什么不用统一的ptr类型呢?因为各个类型有自己的作用。
请添加图片描述
请添加图片描述
为什么全变0了?
请添加图片描述
这个怎么就变一个呀?
这就是指针类型的意义
请添加图片描述
请添加图片描述
请添加图片描述
所以
请添加图片描述决定步长
在这里插入图片描述
用循环也可以改变

1. 指针±整数

请添加图片描述这就是刚刚上面讲的
在这里插入图片描述

2. 指针的解引用

在这里插入图片描述上面也说明过

3. 野指针

请添加图片描述

1. 野指针的成因

未初始

请添加图片描述
这里面没有初始化
请添加图片描述
请添加图片描述

指针越界访问

在这里越界访问了,所以后面的就随机打印一个数字
请添加图片描述

指针指向的空间释放

请添加图片描述

这个也是的,李四叫张三来如家客栈,住宾馆,后面张三来了,李四早就退房了。

请添加图片描述

请添加图片描述

请添加图片描述

请添加图片描述

2. 如何规避野指针

在这里插入图片描述

4. 指针运算

请添加图片描述
这其实就是前面讲的
请添加图片描述
要注意:

请添加图片描述
请添加图片描述
这就不行
请添加图片描述
请添加图片描述

指针减指针

请添加图片描述
后面因为是循环
请添加图片描述
请添加图片描述
请添加图片描述
这里要多减一个1。如果是\0,因为while循环,

指针的关系运算

请添加图片描述
请添加图片描述
请添加图片描述
要有所指
请添加图片描述
请添加图片描述
下面的小细节,其他写法也可以
请添加图片描述
请添加图片描述

请添加图片描述
请添加图片描述
这就厉害了
请添加图片描述
因为
请添加图片描述

5. 二级指针

请添加图片描述
取a的地址到指针变量pa中,就是那个16进制的,因为pa为指针变量,是指针变量就有自己地址,与a是不一样的。
请添加图片描述在第一个指针变量再取出地址,就是二级指针变量了

请添加图片描述
这里的 * 是指针变量的标志
请添加图片描述
这里的画圈是对于前面变量的类型
请添加图片描述
三级还是比较少见,了解即可
请添加图片描述
要知道解引用操作符的作用,直接对于前面。
请添加图片描述
看看这就直接对于a去了,最后打印10
请添加图片描述
从后面修改也是可以的,这是互通的。

6. 指针数组

请添加图片描述
请添加图片描述
其实我们前面学习的也是一样的
请添加图片描述
请添加图片描述
其实就是这样
请添加图片描述

下面我们使用一维数组,模拟一个二维数组
请添加图片描述
请添加图片描述

请添加图片描述
总体是比较简单明了的,学习就是慢慢迭代,前后链接起来就容易多了。

守得云开见月明

请添加图片描述

  • 17
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 22
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

躺平又起来的小萍子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值