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 ++ указатели