Latest web development tutorials

C ++ Zeiger Operatoren (& und *)

C ++ Operator C ++ Operator

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

C ++ Operator C ++ Operator