C ++ Zeiger Operatoren (& und *)
C ++ bietet zwei Zeiger Operatoren, ist einer der Adressoperator & A ist der Indirektionsoperator *.
Ein Zeiger ist eine Variable, die die Adresse einer anderen Variablen enthält, können Sie eine Variable setzen, die die Adresse einer anderen Variablen enthält, wird zu dem "Punkt" auf eine andere Variable. Variablen können jede Art von Daten sein, einschließlich des Objekts oder Zeiger auf die Struktur.
Der Adressoperator &
& Ist ein unärer Operator die Speicheradresse des Operanden zurückgibt. Zum Beispiel, wenn var eine Integer-Variable, dann & var ist seine Adresse. Die Bedienungsperson mit den anderen unäre Operatoren die gleiche Priorität haben, ist es zum Zeitpunkt des Betriebs der Reihenfolge von rechts nach links.
Sie können den Operator & als"Adressoperator" , was bedeutet,& var lesen als lesen "var - Adresse."
Indirektionsoperator *
Der zweite Operator ist der Indirektionsoperator *, die den Operator & ergänzt. * Ist ein unärer Operator, der Rückgabewert der variablen Operanden-Adresse angegeben.
Man betrachte die folgenden Beispiele, die die Verwendung dieser beiden Operatoren zu verstehen.
#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; }
Wenn der obige Code kompiliert und ausgeführt wird, erzeugt es die folgenden Ergebnisse:
Value of var :3000 Value of ptr :0xbff64494 Value of val :3000