天天看点

《指针的编程艺术(第二版)》一2.3 三颗星星:表示三把钥匙

本节书摘来自异步社区《指针的编程艺术(第二版)》一书中的第2章,第2.3节,作者 蔡明志,更多章节内容可以访问云栖社区“异步社区”公众号查看

指针的编程艺术(第二版)

最后,我们介绍3个*的用法作为本章的结尾。请看范例threepointer。

范例threepointer

输出结果

《指针的编程艺术(第二版)》一2.3 三颗星星:表示三把钥匙

程序中变量的含义,用示意图表示如下。

《指针的编程艺术(第二版)》一2.3 三颗星星:表示三把钥匙

p3指针变量需经过3次的间接访问才能得到x变量的值,也就是p3需具备三把钥匙才能得到信箱内的信件。*p3的操作过程与范例twopointer的操作过程相同。

一开始p3指向变量p2的地址,所以p3表示第一次间接得到变量p2的内容,里面存储的是变量p1的地址;再加上一个,如p3,表示第二次间接得到变量p1的内容,里面存储的是x变量的地址;再加上一个,如p3,表示第三次间接得到x变量的内容,它里面存储的是100。

这个例子好比一个人拿第一把钥匙打开信箱p2得到的信件,其内容是另一信箱p1的地址。然后,拿第二把钥匙打开信箱p1得到的信件,其内容是另一信箱x的地址。最后,他拿起第三把钥匙,打开信箱x,发现里面放了100元。

具有3个指针的变量,需要有3个*才能得到变量值,否则,得到的都是变量的地址。

继续阅读