C 指向指針的指針
指向指針的指針是一種多級間接尋址的形式,或者說是一個指針鏈。通常,一個指針包含一個變量的地址。當我們定義一個指向指針的指針時,第一個指針包含了第二個指針的地址,第二個指針指向包含實際值的位置。
一個指向指針的指針變量必須如下聲明,即在變量名前放置兩個星號。例如,下面聲明了一個指向 int 類型指針的指針:
int **var;
當一個目標值被一個指針間接指向到另一個指針時,訪問這個值需要使用兩個星號運算符,如下面實例所示:
#include <stdio.h> int main () { int var; int *ptr; int **pptr; var = 3000; /* 獲取 var 的地址 */ ptr = &var; /* 使用運算符 & 獲取 ptr 的地址 */ pptr = &ptr; /* 使用 pptr 獲取值 */ printf("Value of var = %d\n", var ); printf("Value available at *ptr = %d\n", *ptr ); printf("Value available at **pptr = %d\n", **pptr); return 0; }
當上面的代碼被編譯和執(zhí)行時,它會產生下列結果:
Value of var = 3000 Value available at *ptr = 3000 Value available at **pptr = 3000
更多建議: