一级指针与二级指针

指针
在C语言中,可以使用指针对变量进行操作。
一个有意思的比喻是,把变量比作一个盒子,而把指针比作一个抽屉,
那么,一个不太恰当的例子是,当你想要盒子里的东西的时候,你可以直接找到盒子,当然,也可以先拉出抽屉来,而盒子,自然在抽屉里。
下面,则是正经的干货。

  int n=3;
     int *p=&n;
 那么,他们则有如下的关系:
 首先,系统会分配内存给n,假如它的地址是1H,里面存放的是3;
 那么,当定义一个指针指向n时,就有一些有意思的事了。
 同样的,系统也会分配一个地址给p,假设,p的地址是2H,那么,p

里存放的是n的地址,也就是1H,而当使用*p时,则是根据p中的地址,找到n,
取出n中所存放的数据,也就是3。

 而二级指针,则是一个更加神奇的东东。
 同样,咱们这么定义:
    int n=3;
     int *p=&n;
     int **q;
 n与p的关系同上,神奇的是,q。
 n是一个盒子,p是一个抽屉,那么,q就是抽屉里的抽屉。
 假如,p中存放的是n的地址,那么,q中则是存放的p的地址。
 也就是说当我们使用*q的时候,得到的是p里面的内容,也就是

n的地址。而当我们使用**q的时候,得到的是n里面的内容,也就是3.
当然,定义q时,我们这么来:

         q=&p;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值