Latest web development tutorials

C ++ operatori puntatore (& e *)

operatore C ++ operatore C ++

C ++ fornisce due operatori di puntatore, uno è l'operatore indirizzo & A è l'operatore di rinvio *.

Un puntatore è una variabile che contiene l'indirizzo di un'altra variabile, si può mettere una variabile che contiene l'indirizzo di un'altra variabile è detto "punto" a un'altra variabile. Le variabili possono essere qualsiasi tipo di dati, inclusi l'oggetto, o puntatore alla struttura.

L'operatore indirizzo &

E è un operatore unario restituisce l'indirizzo di memoria dell'operando. Ad esempio, se var è una variabile intera, allora & var è il suo indirizzo. L'operatore con gli altri operatori unari hanno la stessa priorità, è al momento dell'operazione dell'ordine da destra a sinistra.

Potete leggere l'operatore & come"operatore indirizzo", che significa,e var letto come "indirizzo var."

operatore di rinvio *

Il secondo operatore è l'operatore di riferimento indiretto *, che integra l'operatore &. * È un operatore unario, il valore di ritorno dell'indirizzo operando variabile specificata.

Considerate i seguenti esempi per capire l'uso di questi due operatori.

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

   var = 3000;

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

   // 获取 ptr 的值
   val = *ptr;
   cout << "Value of var :" << var << endl;
   cout << "Value of ptr :" << ptr << endl;
   cout << "Value of val :" << val << endl;

   return 0;
}

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

Value of var :3000
Value of ptr :0xbff64494
Value of val :3000

operatore C ++ operatore C ++