首先你要从心理摘掉他神奇的光环。
我们来把它比喻成一个黑客。
当一个黑客知道你ip 地址的时候 。他就可以入侵你的电脑
也可以入侵我的, 也可以入侵其他人的。 当他入侵了你的电脑。
他就和你一样,对你的电脑进行操作。 这就是指针。
如数组, 当一个指针指向一个数组的时候,他就可以对数组做任何事情。
那么他也就是一个数组了。 然而指针可以指向的类型太多了。 为什么我们会觉得指针比较难学?
正因为他指向的类型多,几乎每个类型都有他的份, 所以才会觉得他比较难学, 其实并不是这样。
你可以换个角度去考虑, 当你学习一个新类型的时候, 你首先要掌握这个类型基本功能。当你对新学的类型掌握了。那么你同时也应该对这种类型的指针掌握了。因为它们要做的事情几乎是完全一样的。
例如:指向数组的指针, 他和数组 区别很少,而指向数组的指针的作用,也就是来完成数组本来应该要做的事情
因为数组本身就是存放同一种类型数据的集合。那么数组名 和指针, 同样都是来操控这个数据集合的钥匙。其实它们都一样,只是在书写格式想 稍微有点点不同。不知道你是否能明白,这仅仅是我们的心理作用。
其次,根据指针的概念,我们完全可以理解指针是一个强大的克隆体, 例如什么叫数组指针,指向数组的指针就叫数组指针。 什么叫结构体指针, 指向结构体的指针就叫结构体指针,什么叫指向指针的指针,tm就是指向指针的指针。
所以不难看出来,指针他就是另一种类型的影子,其实它们几乎都一样, 我认为你只需要这样理解 会感觉轻松一点,你只需知道 ,当你学习一个新的类型之后, 你心里要明白,这个类型,同时还会有同类型的指针,它们的功能一样,为什么要用指针呢,例如指针可以完成一些特定功能,如传参 ,有的时候我们要向函数传参数, 但是像变量,和结构体变量等灯,它是值传递,我们无法在函数中 ,修改结构体变量的值, 要怎么解决呢? 指针可以帮助你, 传一个结构体指针进去, 就可以在函数内部对 结构体变量的地址 直接进行修改了,这是他的好处之一, 说了这么多 重点是要你脑袋明白, 指针不难,为什么大家都说指针难呢? 因为他能代表的类型太多了, 每学习一种新的类型就要学习新类型的指针。很烦,但是好处却很多。 所以在你们学习指针的时候 要分开, 不要把统一纪录, 而是每当你学新的类型的时候, 你就同时也学习新类型的指针。这样脑袋应该就不会乱了。 |