指向指针的指针是多个间接的形式,或指针链,通常,指针包含变量的地址,当我们定义指向指针的指针时,第一个指针包含第二个指针的地址,第二个指针指向包含实际值的位置,如下所示。
作为指针的变量必须声明为指针。这是通过在其名称前放置一个额外的星号来完成的。例如,以下声明了一个指向Int-类型的指针
链接:https://www.learnfk.comhttps://www.learnfk.com/c-programming/c-pointer-to-pointer.html
来源:LearnFk无涯教程网
int **var;
当目标值由指向指针的指针间接指向时,访问该值需要应用两次星号**运算符,如下面的示例中所示
#include <stdio.h> int main () { int var; int *ptr; int **pptr; var=3000; /* 取var的地址 */ ptr=&var; /* 使用运算符 & 的地址获取 ptr 的地址 */ pptr=&ptr; /* 使用 pptr 取值 */ printf("Value of var=%d\n", var ); printf("Value available at *ptr=%d\n", *ptr ); printf("Value available at **pptr=%d\n", **pptr); return 0; }
编译并执行上述代码时,将生成以下结果-
Value of var=3000 Value available at *ptr=3000 Value available at **pptr=3000
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)