C ++ операторы указателя (& и *)
C ++ предоставляет два оператора указателя, один оператор адрес & А-оператор разыменования *.
Указатель является переменной, которая содержит адрес другой переменной, вы можете поместить переменную, содержащую адрес другой переменной называется "точки" к другой переменной. Переменные могут быть любой тип данных, включая объект, или указатель на структуру.
Адрес оператора &
& Является ли унарный оператор возвращает адрес памяти операнда. Например, если переменная является переменной целое, то и переменная является его адрес. Оператор с другими унарные имеют одинаковый приоритет, то во время работы порядка справа налево.
Вы можете прочитать и оператор , как"адрес оператора" , что означает,и вар читается как "вар адрес."
Косвенность оператор *
Второй оператор косвенность оператор *, который дополняет & оператора. * Является ли унарный оператор, возвращаемое значение переменной адрес операнда указан.
Рассмотрим следующие примеры, чтобы понять использование этих двух операторов.
#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; }
Когда приведенный выше код компилируется и выполняется, он дает следующие результаты:
Value of var :3000 Value of ptr :0xbff64494 Value of val :3000