指向指针的指针是一种多级间接寻址的形式,或者说是一个指针链。
通常,一个指针包含一个变量的地址。当我们定义一个指向指针的指针时,
第一个指针包含了第二个指针的地址,第二个指针指向包含实际值的位置。
声明 :
int **var;
当一个目标值被一个指针间接指向到另一个指针时,访问这个值需要使用两个星号运算符
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
const int MAX = 3;
int main(int argc, char *argv[]) {
int a; //定义变量
int *ptr1; // 定义一个指针ptr1
int **ptr2; // 定义一个指针指向指向 ptr2 还为指向
a=100;
ptr1=&a; // 把a的地址给指针 ptr1
ptr2=&ptr1; // 获取ptr1 的地址 ptr1 的地址指向了 ptr2
// 打印看看
printf("Value = %d\n",a);
printf("ptr1 =%#p\n",&ptr1);
printf("*ptr 的值 =%d\n",*ptr1);
printf("ptr2的地址=%#p\n",&ptr2);
printf("ptr2的值=%d\n",**ptr2);
return 0;
}
打印