在C语言中,二级指针是指向指针的指针。要使用二级指针,首先需要创建一个指针变量,然后将其指向另一个指针变量的地址。这里有一个简单的例子来说明如何使用二级指针:
#includeint main() { int a = 10; int *p = &a; // 创建一个指向整数的指针p,并让它指向变量a的地址 int **pp = &p; // 创建一个指向指针的指针pp,并让它指向指针p的地址 printf("Value of a: %d\n", a); printf("Value of p: %p\n", (void *)p); printf("Value of pp: %p\n", (void *)pp); // 通过二级指针pp访问指针p所指向的值 printf("Value of *p through pp: %d\n", **pp); // 修改指针p所指向的值 *p = 20; printf("Value of a after modifying *p through pp: %d\n", a); // 修改指针p所指向的地址 p = (int *)0x12345678; printf("Value of p after modifying its address: %p\n", (void *)p); // 通过二级指针pp访问修改后的指针p所指向的值 printf("Value of *p through pp after modifying p's address: %d\n", **pp); return 0; }
在这个例子中,我们首先创建了一个整数变量a
,然后创建了一个指向整数的指针p
,并将其指向变量a
的地址。接着,我们创建了一个指向指针的指针pp
,并将其指向指针p
的地址。
我们可以通过二级指针pp
访问指针p
所指向的值,例如**pp
。我们还可以通过二级指针pp
修改指针p
所指向的值,例如*p = 20
。此外,我们还可以通过二级指针pp
修改指针p
所指向的地址,例如p = (int *)0x12345678
。