C++ Операторы указателей (& и *)

Операторы C++

C++ предоставляет два оператора указателей: оператор взятия адреса & и оператор разыменования *.

Указатель — это переменная, которая содержит адрес другой переменной. Можно сказать, что переменная, содержащая адрес другой переменной, «указывает на» эту другую переменную. Переменная может быть любого типа данных, включая объекты, структуры или указатели.

Оператор взятия адреса &

& — это унарный оператор, который возвращает адрес памяти своего операнда. Например, если var — переменная целочисленного типа, то &var — её адрес. Этот оператор имеет тот же приоритет, что и другие унарные операторы, и вычисляется справа налево.

Оператор & можно читать какоператор взятия адреса, это означает, что&varчитается как «адрес var».

Оператор разыменования *

Второй оператор — это оператор разыменования *, который является дополнением к оператору &. * — это унарный оператор, возвращающий значение переменной по адресу, указанному его операндом.

Пожалуйста, посмотрите следующий пример, чтобы понять использование этих двух операторов.

Пример

#include <iostream>
 
using namespace std;
 
int main ()
{
   int  var;
   int  *ptr;
   int  val;

   var = 3000;

   // получить адрес var
   ptr = &var;

   // Получить значение ptr
   val = *ptr;
   cout << "Значение var :" << var << endl;
   cout << "Значение ptr :" << ptr << endl;
   cout << "Значение val :" << val << endl;

   return 0;
}

Когда приведенный выше код скомпилирован и выполнен, он выдает следующие результаты:

Value of var :3000
Value of ptr :0xbff64494
Value of val :3000

Операторы C++

Другие расширения