Operatorzy wskaźnik C ++ (& i *)
C ++ dostarcza dwóch operatorów wskaźnik, jeden jest operatorem adres & A jest operatorem wskazanie pośrednie *.
Wskaźnik jest zmienną, która zawiera adres innej zmiennej, można umieścić zmienną, która zawiera adres innej zmiennej mówi się "punkt" do innej zmiennej. Zmienne mogą być dowolnego typu dane, włącznie z przedmiotami oraz wskaźnik do struktury.
Operator adres &
I jest operatorem unarny zwraca adres pamięci argumentu. Na przykład, jeśli zmienna jest zmienną całkowitą, po czym w var jest jego adres. Operator z innymi operatorami pojedynczych, mają ten sam priorytet, to w czasie pracy w kolejności od prawej strony do lewej.
Można przeczytać i operator jako"operator adresowej", co oznacza,& var odczytać jako "adres var."
Operator zadnie *
Drugi operator jest wskazanie pośrednie operator *, który uzupełnia i operatora. * Czy jednoskładnikowa operatora, zwracana wartość zmiennej adres argumentu określony.
Rozważmy następujące przykłady zrozumieć wykorzystanie tych dwóch operatorów.
#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; }
Gdy powyższy kod jest kompilowany i wykonany, że daje następujące wyniki:
Value of var :3000 Value of ptr :0xbff64494 Value of val :3000