Оператор разыменования
Часть раздела Логика и управление потоком путешествия по C++ на Coddy. Урок 3 из 56.
*).Оператор разыменования * позволяет получить значение, хранящееся по адресу в памяти, на который указывает указатель. Если поставить * перед переменной-указателем, он «переходит» по адресу и возвращает значение, которое там хранится.Помните: оператор взятия адреса (&) возвращает адрес переменной в памяти, а оператор разыменования (*) даёт доступ к значению по этому адресу.int number = 42;
int* ptr = &number; // ptr хранит адрес number
int value = *ptr; // value теперь содержит 42*ptr, вы на самом деле меняете значение, хранящееся в этой ячейке памяти:*ptr = 100; // Меняет number на 100
// Теперь number равно 100, хотя мы изменили его через ptrЗадание
ЛегкоНапишите программу, которая показывает работу оператора разыменования: она изменяет значение переменной через указатель.
На вход подаются:
- Целое число — начальное значение переменной
- Целое число — новое значение, которое нужно присвоить через указатель
Ваша программа должна:
- Объявить целочисленную переменную с именем
temperatureи инициализировать её первым введённым значением - Создать указатель с именем
tempPtr, который указывает на переменнуюtemperature - Вывести исходное значение, разыменовав указатель
- С помощью оператора разыменования изменить значение
temperatureчерез указатель на второе введённое значение - Вывести новое значение, снова разыменовав указатель
Используйте точно такой формат вывода:
Original value: [original value]
New value: [new value]Попробуйте сами
#include <iostream>
using namespace std;
int main() {
// Считать входные значения
int initialValue, newValue;
cin >> initialValue;
cin >> newValue;
// TODO: Напишите ваш код ниже
// 1. Объявите переменную temperature и инициализируйте её значением initialValue
// 2. Создайте указатель tempPtr, указывающий на temperature
// 3. Print original value using pointer dereference
// 4. Измените значение temperature через указатель, используя newValue
// 5. Выведите новое значение, используя разыменование указателя
return 0;
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Логика и управление потоком
1Указатели и память
Что такое указатель?Оператор взятия адресаОператор разыменованияНулевые указателиУказатели и массивыДинамическая память и 'new'Освобождение памяти и 'delete'Итоги: Практика с указателями2Векторы (динамические массивы)
Знакомство с std::vectorСоздание вектораДобавление элементовДоступ к элементамРазмер вектораИтерация с помощью цикла ForRange-based цикл ForУдаление элементовИтоги: операции с векторами5Проект: Инструмент инвентаризации
Настройка проектаДобавление и обновление товаровПотренируйтесь самостоятельно: Онлайн-компилятор C++