重拾C++指针(入门)

来源:互联网 发布:天刀win10卡顿优化 编辑:程序博客网 时间:2024/04/29 23:31

 

发觉每次学C++指针,每次过阵子就忘记了,不知道是自己脑子不好使,还是指针太难了,一不用就忘记了。

吃一堑长一智,希望这次不要忘记了。

现在指针有几种形式:

*pPointer: 这个如果在左边,比如说int *pPointer,那就表示这是一个指向int型数字的指针。

如果是*pPoint=25,那表示这个指向int型数字的指针它的value改成25。突然想到其实当中是个很复杂的概念,int型指针首先自己有一个分配的地址,有一个自己的value,我们也不管它的地址,value的话想必就是存这个int型数字的地址了吧,然后int本来也有一个value,比如说是15,自己也有一个地址。那*pPointer其实就代表了它指向的那个int型数字的value,这样就比较好理解一些了。这个操作相当于把这个int改成了25。

然后中间有一行是&nNumber,放在了右边,从其他文章上看来,说应该就是"XXX的地址",那就是nNumber的地址给了pPointer。

右边挺好理解的,左边就有点模糊了,一会儿是*pPointer赋值,一会儿是对pPointer赋值。其实很简单,因为pPointer是指向int的指针,那么能赋给pPointer的就是地址,也就是对pPointer的value赋值(前面说到过pPointer也有value和address),然后给*pPointer赋值,说白了,其实不是给pPointer赋值,和pPointer一点关系都没有,它只做了一个传递的过程,因为*pPointer指向了那个int数字的地址,所以*pPointer就代表了那个int数字。

说到这里,自己感觉又有点似懂非懂,希望下次不要再出现类似问题了。我想自己能够再看一下,下次再继续贴一些关于指针的代码。巩固一下自己的基础。

原创粉丝点击