c 语言的指针

想想: 这个东西的给人的感觉就是不太好, 什么指向指针就把谁的地址给指针 ,

没毛病? 那么指针就是存放地址的咯? 

我觉得看看生成的汇编指令里面看看这个怎么回事。

汇编指令:

mov  (r1), #r0

r0 r1 代表寄存器

(r1) 相当于指针, 也就是汇编表示的意思是,r1 的地址假设是0x111 0x111 里面存的是 0x1112 这个的地址, 0x1112 地址的值10 

    这个就是基本的指针,不轮你怎么变化 都是这种形式了

那么在栈上是怎么表示的了。一个函数的局部变量 和数据都是在栈上存放, 函数的也就是把函数的地址传递给栈上的。

那么指针本身 就代表了 有4个字节,在声明的时候 ,也就是开了4 个字节的。4个字节用存放不同的地址, 当要用到指针中的地址中的值,就是告诉他我要调用你的值了,把地址传过来,也就把家的门牌号告诉你了。

二维指针 也是这个里, 也就是包装了【一层新的】, 本来我存着这个地址, 现在地址中存放的是又是另外的地址

那么指针运算了: 想想这个是最容易得了 : 

把家里的东西拿出了卖是一样的道理。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值