Указатель — это переменная, которая указывает на некоторый участок памяти. Обычно указатель содержит адрес другой переменной, объявленной в коде ранее. Посмотрим на примере:
void main() {
// Объявляем переменную типа int
// И инициализируем её
int var = 10;
}
При выполнении программы в ОЗУ будет выделен участок памяти такого размера, чтобы там свободно помещалось значение нашей переменной var. Размер выделенного участка памяти зависит от типа переменной (посмотреть ‘размер’ каждого типа можно тут); Поэтому инициализировать указатель будем адресом, где хранится значение другой переменной. Итак:
void main() {
int var = 10;
// & - операция взятия адреса
// Результатом операции взятия адреса является адрес ячейки памяти,
// которая была выделена компилятором под соответствующую переменную.
// Например, если для переменной выделена область памяти,
// начиная с адреса 5022FE38, тогда &var будет иметь значение 5022FE38
int* ptr = &var;
}
Читать далее →