Latest web development tutorials

C++ 指向指針的指針(多級間接尋址)

C++ 指針 C++指針

指向指針的指針是一種多級間接尋址的形式,或者說是一個指針鏈。 通常,一個指針包含一個變量的地址。 當我們定義一個指向指針的指針時,第一個指針包含了第二個指針的地址,第二個指針指向包含實際值的位置。

C++ 中指向指針的指針

一個指向指針的指針變量必須如下聲明,即在變量名前放置兩個星號。 例如,下面聲明了一個指向int 類型指針的指針:

int **var;

當一個目標值被一個指針間接指向到另一個指針時,訪問這個值需要使用兩個星號運算符,如下面實例所示:

#include <iostream>
 
using namespace std;
 
int main ()
{
   int  var;
   int  *ptr;
   int  **pptr;

   var = 3000;

   // 获取 var 的地址
   ptr = &var;

   // 使用运算符 & 获取 ptr 的地址
   pptr = &ptr;

   // 使用 pptr 获取值
   cout << "Value of var :" << var << endl;
   cout << "Value available at *ptr :" << *ptr << endl;
   cout << "Value available at **pptr :" << **pptr << endl;

   return 0;
}

當上面的代碼被編譯和執行時,它會產生下列結果:

Value of var = 3000
Value available at *ptr = 3000
Value available at **pptr = 3000

C++ 指針 C++指針