📅  最后修改于: 2023-12-03 15:29:44.424000             🧑  作者: Mango
在 C 语言中,指针是非常重要的数据类型,而高级指针则是指针的一个更高级的使用方式。在本问题中,我们将介绍高级指针的一种用法:指向指针的指针。
指向指针的指针是一种高级指针的使用方式,它可以使我们更方便地对指针进行操作。指向指针的指针是一个指向指针的指针变量。它可以存储指针的地址,使得我们可以通过该指针指向的位置修改指针的值。
让我们来看一个例子:
#include <stdio.h>
int main() {
int a = 10;
int *p = &a;
int **pp = &p;
printf("a = %d\n", a); // 输出 a 的值
printf("*p = %d\n", *p); // 输出 p 指向的值
printf("**pp = %d\n", **pp); // 输出 pp 指向的指针指向的值
return 0;
}
在这个例子中,我们定义了一个整型变量 a,和一个指向 a 的指针 p。我们还定义了一个指向指针 p 的指针 pp,并将其指向 p 的地址。这时,我们就可以通过 pp 来修改 p 的值了,如下所示:
*pp = NULL;
这行代码会将 p 的值设置为 NULL。注意,我们使用的是 *pp 这个指针,它指向的是 p 这个指针的位置,而不是 a 这个变量的位置。
指向指针的指针是指针的高级使用方式之一。它可以使我们更方便地对指针进行操作。通过指向指针的指针,我们可以修改指针指向的地址,进而修改内存中的值。