c语言

C语言指针操作二级指针如何用

小樊
81
2024-10-31 11:17:57
栏目: 编程语言

在C语言中,二级指针是指向指针的指针。要使用二级指针,首先需要创建一个指针变量,然后将其指向另一个指针变量的地址。这里有一个简单的例子来说明如何使用二级指针:

#include <stdio.h>

int 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

0
看了该问题的人还看了