想想: 这个东西的给人的感觉就是不太好, 什么指向指针就把谁的地址给指针 ,
没毛病? 那么指针就是存放地址的咯?
我觉得看看生成的汇编指令里面看看这个怎么回事。
汇编指令:
mov (r1), #r0
r0 r1 代表寄存器
(r1) 相当于指针, 也就是汇编表示的意思是,r1 的地址假设是0x111 0x111 里面存的是 0x1112 这个的地址, 0x1112 地址的值10
这个就是基本的指针,不轮你怎么变化 都是这种形式了
那么在栈上是怎么表示的了。一个函数的局部变量 和数据都是在栈上存放, 函数的也就是把函数的地址传递给栈上的。
那么指针本身 就代表了 有4个字节,在声明的时候 ,也就是开了4 个字节的。4个字节用存放不同的地址, 当要用到指针中的地址中的值,就是告诉他我要调用你的值了,把地址传过来,也就把家的门牌号告诉你了。
二维指针 也是这个里, 也就是包装了【一层新的】, 本来我存着这个地址, 现在地址中存放的是又是另外的地址
那么指针运算了: 想想这个是最容易得了 :
把家里的东西拿出了卖是一样的道理。