溫馨提示×

C語言指針操作二級指針如何用

小樊
82
2024-10-31 11:17:57
欄目: 編程語言

在C語言中,二級指針是指向指針的指針。要使用二級指針,首先需要創(chuàng)建一個指針變量,然后將其指向另一個指針變量的地址。這里有一個簡單的例子來說明如何使用二級指針:

#include <stdio.h>

int main() {
    int a = 10;
    int *p = &a; // 創(chuàng)建一個指向整數(shù)的指針p,并讓它指向變量a的地址
    int **pp = &p; // 創(chuàng)建一個指向指針的指針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;
}

在這個例子中,我們首先創(chuàng)建了一個整數(shù)變量a,然后創(chuàng)建了一個指向整數(shù)的指針p,并將其指向變量a的地址。接著,我們創(chuàng)建了一個指向指針的指針pp,并將其指向指針p的地址。

我們可以通過二級指針pp訪問指針p所指向的值,例如**pp。我們還可以通過二級指針pp修改指針p所指向的值,例如*p = 20。此外,我們還可以通過二級指針pp修改指針p所指向的地址,例如p = (int *)0x12345678。

0