РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
68 of 815 menu

Тип указателя

Тип указателя в C++ хранит адрес объекта в памяти. Указатель объявляется с помощью символа * перед именем переменной. Тип, стоящий перед звёздочкой, определяет, на объект какого типа будет указывать указатель. Чтобы получить адрес переменной, используется оператор &, а чтобы обратиться к значению по адресу - оператор разыменования *.

Указатель может быть нулевым, то есть не указывать ни на какой объект - для этого используется значение nullptr. Указатели одного типа можно сравнивать, присваивать друг другу и изменять, перемещая их по памяти. Размер указателя зависит от платформы, но обычно составляет 8 байт на 64-битных системах.

Синтаксис

type *name; type *name = &variable; type *name = nullptr;

Пример

Давайте создадим переменную и указатель на неё, а затем выведем адрес и значение по адресу:

#include <iostream> using namespace std; int main() { int num = 42; int *ptr = # cout << "Address: " << ptr << endl; cout << "Value: " << *ptr << endl; return 0; }

Результат выполнения кода:

"Address: 0x7ffee3b9c8ac" "Value: 42"

Пример

Давайте изменим значение переменной через указатель:

#include <iostream> using namespace std; int main() { int num = 10; int *ptr = # *ptr = 20; cout << num << endl; return 0; }

Результат выполнения кода:

20

Пример

Давайте создадим нулевой указатель и проверим его перед использованием:

#include <iostream> using namespace std; int main() { int *ptr = nullptr; if (ptr == nullptr) { cout << "Pointer is null" << endl; } int num = 5; ptr = # cout << *ptr << endl; return 0; }

Результат выполнения кода:

"Pointer is null" 5

Смотрите также

  • тип nullptr_t,
    который представляет тип нулевого указателя
  • тип array-type,
    который тесно связан с указателями при передаче в функции
  • тип lvalue-ref,
    который является альтернативой указателям для передачи по ссылке
  • тип void,
    который используется для указателей на произвольный тип
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить