C ++ operatori puntatore (& e *)
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