Введение в указатели
Дружелюбное знакомство с адресами памяти и операторами & и *
- объяснить, что такое адрес памяти,
- использовать
&, чтобы получить адрес переменной, - объявить указатель и использовать
*, чтобы прочитать или изменить значение, на которое он указывает, - сказать, почему указатели важны в C++.
1. Что такое адрес памяти?
Представь память компьютера как очень длинную улицу из маленьких домиков. Каждый домик может хранить одну порцию данных, и у каждого есть свой номер, чтобы его можно было найти. Этот номер дома и называется адресом памяти.
Когда ты пишешь int age = 25;, компьютер выбирает свободный домик, записывает внутрь 25 и запоминает его адрес за тебя. Обычно ты пользуешься именем age, но под ним всегда есть адрес, который делает настоящую работу.
25 — это друг, живущий в доме. Адрес — это номер дома на улице. Если ты знаешь номер, ты всегда найдёшь друга.2. Оператор &: «адрес чего-либо»
Чтобы спросить «где живёт эта переменная?», поставь перед ней оператор взятия адреса &. &age означает «адрес переменной age».
#include <iostream>
using namespace std;
int main() {
int age = 25;
cout << "Value: " << age << endl;
cout << "Address: " << &age << endl;
return 0;
}
Ожидаемый вывод:
Value: 25
Address: 0x7ffee3b2c9ac
Точный адрес (это длинное число 0x...) меняется при каждом запуске программы — это нормально. Важно то, что &age даёт тебе адрес, а просто age даёт значение.