我们已经知道指针保存了同一类型的另一个变量的地址。当指针保存另一个指针的地址时,这种类型的指针称为指针的指针或双重指针。在本指南中,我们将学习什么是双重指针,如何声明它们以及如何在 C 编程中使用它们。要理解这个概念,你应该知道指针的基础知识。
如何在 C 中声明指针的指针(双重指针)?
这里pr
是一个双重指针。在双重指针的声明中必须有两个*
。
让我们借助图表来理解双重指针的概念:
根据图表,pr2
是一个普通指针,它保存整数变量num
的地址。图中还有另一个指针pr1
,它保存另一个指针pr2
的地址,这里的指针pr1
是一个指向指针的指针(或双重指针)。
上图中的数值:
双重指针示例
让我们根据上面看到的图表编写一个 C 程序。
输出:
关于此程序的输出存在一些混淆,当您运行此程序时,您将看到类似于此的地址:
0x7fff54da7c58
。我以不同格式提供地址的原因,是我希望您将此程序与上图相关联。我已经使用了上图中的确切地址值,因此您可以轻松地将此程序的输出与上图相关联。
您还可以使用以下简单公式了解程序逻辑: