C艺术篇 2-2 指针 两把钥匙

接下来,讨论两个*的用法,这好比需要两把钥匙,才能得到信箱内的信件,如下所示

 

其中

int *p1 = &x;

表示p1指针变量所存储的是x变量的地址,而

int **p2 = &p1;

此语句的示意图 如下图所示:

 

表示p2指针变量需要通过两次的间接访问才能得到x的值,即p2需要两把钥匙才能得到信箱内的信件。

因为*p2表示第一次间接得到p1变量的数据,它里面存储的是x变量的地址,此时再加上一个*,就可以得到变量的值。

也就是说 *p2 得到的是 p1变量里面存的值 x的地址。再加一个* 就可打开x变量地址里面的存值。

posted @ 2018-11-23 11:41  Hh_blog  阅读(94)  评论(0)    收藏  举报