Блог программиста

Цель: пассивный доход 100 тыс. руб. в мес.

Задачи:

  1. Разработка языка Cj
  2. ...
  3. ...


Также в блоге: изучаем и разрабатываем что-то новое, делимся опытом.

Подписывайтесь:
Cj - язык программирования

Новый язык программирования, для разработки сайтов и приложений, подробнее...


Спецификация:

  1. Комментарии
  2. Типы данных, переменные, функции
  3. ...

Указатели в С++

Мы уже проходили, что такое переменная - это ячейка памяти, причём оперативной памяти, в которой хранится информация.

Указатель - это переменная, в которой хранится адрес ячейки памяти.

Получается, что указатель ссылается на начало какой-то области памяти, например, указатель может ссылаться на переменную. Чтобы получить адрес переменной используют унарную операцию взятия адреса &:

int var = 123;

int *pvar;
pvar = &var;

Как мы видим из примера, pvar - это указатель на переменную var, в который мы присвоили адрес переменной var. Описание и присвоение тут осуществлено в две строчки, но можно обойти и одной:

int *pvar = &var; 

Но теперь возникает вопрос: можно ли получиться значение переменной из указателя на неё? Да, конечно. Для этого используем унарную операцию разименования указателя *.

cout << "pvar  = " << pvar << endl; // адрес переменной var
cout << "*pvar = " << *pvar << endl; // вывод значения переменной var через указатель

Указатели на указатели

Указатели могут ссылаться на другие указатели, а те могут ещё на другие указатели и т.д.. Число символов * при объявлении указателя показывает его порядок:

int var = 123;
int *pvar = &var; // указатель на переменную var
int **ppvar = &pvar; // указатель на указатель на переменную var
int ***pppvar = &ppvar;

На этом урок закончен. Существуют ещё указатели на функцию. Но это, так сказать, из другой оперы и мы рассмотрим их как-нибудь в следующий раз.


Отправить комментарий
Контакты
vk.com/sitev_ru
Skype: sitev.ru
E-mail: mike@sitev.ru
github.com/sitev

Рейтинг@Mail.ru

Besucherzahler
счетчик посещений