书上已经说的很清楚了,反复琢磨几次就能懂了。
归根结底,指针也是一个变量,只不过它是保存地址的,地址当然是根据CPU类型会有不一样吧,32位的ARM,指针也就是32位,因为地址都是32位表示的,32位能指向4G范围内的任何地方。单纯一个地址并不能反映出这个地址开始的数据什么玩意,因此指针也有类型,如整型指针,说明这个指针指着的地址处是一个整型数。如果是一个结构指针,说明指针指着的地址处是一个结构,指针只是一个地址,一个结构占用一连串的地址,而指针只会指向结构开始位置的地址。指针作为一个变量,它自己也有地址,所以指针的值(也就是一个地址)可以是其他指针的地址。
说来说去有点绕,最基本的就是要明白指针作为一个变量,它肯定保存在内存的某个地方,于是有它自己存在的地址,但指针变量的值,是用来存放其他变量的地址的。 |