C语言指向指针的指针是一种高级的指针类型,也称为二级指针。它可以通过指向指针的指针来实现多级指针操作,用于处理多层嵌套的数据结构,如链表、树等。下面是指向指针的指针的使用攻略。
- 声明指向指针的指针
在使用指向指针的指针时,需要先声明它们的类型和名称。指向指针的指针的类型为int **p
,其中**
表示指向指针的指针。
示例代码:
int **p;
- 给指向指针的指针赋值
给指向指针的指针赋值时,需要先分配空间,并将指针的地址存储到指向指针的指针中。
示例代码:
int *p1 = NULL;
int **p2 = NULL;
p1 = (int*)malloc(sizeof(int));
*p1 = 10;
p2 = &p1;
printf("p1 value is %d\n", *p1);
printf("p2 value is %d\n", **p2);
解析代码:首先,声明一个int
类型的指针p1
和一个指向指针的指针p2
,并将它们的值都初始化为NULL
。接着,调用malloc
函数为p1
分配内存空间,并将10存储到此空间中。然后,将指针p1
的地址存储到p2
中。最后,通过*p1
和**p2
分别访问p1
和p2
指向的变量的值,并将它们输出到控制台上。
输出结果:
p1 value is 10
p2 value is 10
- 通过指向指针的指针修改指针指向的变量的值
通过指向指针的指针可以修改指针指向的变量的值,需要使用两个*
运算符来进行间接引用。
示例代码:
int *p1 = NULL;
int **p2 = NULL;
p1 = (int*)malloc(sizeof(int));
*p1 = 10;
p2 = &p1;
**p2 = 20;
printf("p1 value is %d\n", *p1);
printf("p2 value is %d\n", **p2);
解析代码:首先,声明一个int
类型的指针p1
和一个指向指针的指针p2
,并将它们的值都初始化为NULL
。接着,调用malloc
函数为p1
分配内存空间,并将10存储到此空间中。然后,将指针p1
的地址存储到p2
中。接着,通过**p2
将p1
指针指向的变量的值修改为20。最后,通过*p1
和**p2
分别访问p1
和p2
指向的变量的值,并将它们输出到控制台上。
输出结果:
p1 value is 20
p2 value is 20
以上就是指向指针的指针的完整使用攻略,通过实例来讲解,相信可以更好的理解。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言 指向指针的指针 - Python技术站