指针终极理解
续之前所讲过的-------------------------------
要能理解不同指针/多级指针的层级关系以及不同指针所能操控的数据的级别,然后知道为什么
必知明确:
指针p是你想要拿到的值的地址
盒子是装值的,指针是指向地址的
要拿到对应的值就得搜寻地址再取值,取值这个操作必须用指令来操控,因而就有了*解引指令,它其实就是取值指令
这就要能够在地址和值的思维里面来回跳转,另外值也可能就是一个地址,因而就有多级指针的概念
地址是唯一的,在函数的参数里面单纯传值,函数参数本身就只是内部开空间作为副本然后进行一个赋值操作,若是单纯把一个值赋值过去,是不可能改变原来外界数据地址对应的值的,毕竟指向和使用的地址就不是同一个,所做的一切操作也不是对同一个底层数据进行的,但是但我们拿到唯一的地址的时候,这操作权限不是一下子就上来了吗?指针就是这么玩的,好玩的很!!!🤣🤣
重点明确:
为什么需要多级指针?因为要改 "指针的指向"
- 想操作一个变量的值 → 用一级指针(存变量的地址)
- 想操作一个一级指针的指向 → 用二级指针(存一级指针的地址)
- 想操作一个二级指针的指向 → 用三级指针(存二级指针的地址)
每多一级指针,本质都是把 "目标的地址" 当作值来传递,从而能在函数内部直接修改目标本身(而不是副本)
可以创捷各种数据类型与指针的结合类型来使用,比如指针数组,指针函数,函数指针等
指针还经常用来动态内存管理
由于指针可以各种数据类型组合,所以可以组合出非常复杂也非常牛的类型来使用
tip:指针的终极理解才不多就是把他理解清楚,具体掌握得自我不断地练习与使用和实践,我讲的只是我知道的,很多不知道的望评论区补充,谢谢!加油!!!😊😊😊
tip: 电脑关机长按开机键40秒可以解决大多数问题!