Latest web development tutorials

C ++ puntatore a un puntatore (multilivello indirizzamento indiretto)

C ++ puntatori C ++ puntatori

Il puntatore è un puntatore a una forma più stadi di indirizzamento indiretto, o è una catena puntatore. Tipicamente, un puntatore contiene l'indirizzo di una variabile. Quando definiamo un puntatore a un puntatore, il primo puntatore contiene l'indirizzo del secondo puntatore, il secondo puntatore contiene la posizione del valore effettivo.

C ++, un puntatore a un puntatore

Un puntatore a una variabile puntatore deve essere dichiarato come segue, vale a dire mettendo due asterischi davanti al nome della variabile. Ad esempio, il seguente dichiara un puntatore a un int puntatore puntatori:

int **var;

Quando un bersaglio è un puntatore ad un'altra puntatore indirettamente punti per ottenere questo valore richiede l'uso dell'operatore due asterischi, come illustrato nei seguenti esempi:

#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;
}

Quando il codice di cui sopra è compilato ed eseguito, produce i seguenti risultati:

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

C ++ puntatori C ++ puntatori