Operator dereferencji
Część sekcji Logika i przepływ programu ścieżki C++ w Coddy. Lekcja 3 z 56.
*).Operator dereferencji * służy do uzyskiwania dostępu do wartości przechowywanej pod adresem pamięci, na który wskazuje wskaźnik. Gdy umieścisz * przed zmienną wskaźnikową, „podąża” on za adresem i zwraca rzeczywistą przechowywaną tam wartość.Pamiętaj, że operator pobrania adresu (&) służy do uzyskiwania adresu pamięci zmiennej, natomiast operator dereferencji (*) służy do uzyskiwania wartości pod tym adresem.int number = 42;
int* ptr = &number; // ptr przechowuje adres number
int value = *ptr; // value zawiera teraz 42*ptr, tak naprawdę zmieniasz wartość przechowywaną w tej lokalizacji pamięci:*ptr = 100; // Zmienia number na 100
// number ma teraz wartość 100, mimo że zmieniliśmy ją za pośrednictwem ptrWyzwanie
ŁatwyUtwórz program, który demonstruje działanie operatora dereferencji, modyfikując wartość zmiennej za pomocą wskaźnika.
Dane wejściowe będą zawierać:
- Liczbę całkowitą reprezentującą początkową wartość zmiennej
- Liczbę całkowitą reprezentującą nową wartość, którą należy przypisać za pomocą wskaźnika
Twój program powinien:
- Zadeklarować zmienną całkowitą o nazwie
temperaturei zainicjalizować ją pierwszą wartością wejściową - Utworzyć wskaźnik o nazwie
tempPtr, który wskazuje na zmiennątemperature - Wypisać pierwotną wartość przez dereferencję wskaźnika
- Użyć operatora dereferencji, aby zmienić wartość
temperaturena drugą wartość wejściową za pomocą wskaźnika - Ponownie wypisać nową wartość przez dereferencję wskaźnika
Użyj dokładnie następującego formatu wyjściowego:
Original value: [original value]
New value: [new value]Spróbuj swoich sił
#include <iostream>
using namespace std;
int main() {
// Odczytaj wartości wejściowe
int initialValue, newValue;
cin >> initialValue;
cin >> newValue;
// TODO: Napisz swój kod poniżej
// 1. Zadeklaruj zmienną temperature i zainicjalizuj ją wartością initialValue
// 2. Utwórz wskaźnik tempPtr wskazujący na temperature
// 3. Wypisz pierwotną wartość przez dereferencję wskaźnika
// 4. Zmień wartość temperature za pomocą wskaźnika, używając newValue
// 5. Wypisz nową wartość przez dereferencję wskaźnika
return 0;
}Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Logika i przepływ programu
1Wskaźniki i pamięć
Czym jest wskaźnik?Operator pobrania adresuOperator dereferencjiWskaźniki zeroweWskaźniki i tabliceDynamiczne zarządzanie pamięcią za pomocą „new”Zwalnianie pamięci za pomocą „delete”Podsumowanie — ćwiczenia ze wskaźnikami2Wektory (tablice dynamiczne)
Wprowadzenie do std::vectorTworzenie wektoraDodawanie elementówDostęp do elementówRozmiar wektoraIterowanie za pomocą pętli forPętla for oparta na zakresieUsuwanie elementówPodsumowanie — operacje na wektorach5Projekt: Narzędzie do zarządzania zapasami
Konfiguracja projektuDodawanie i aktualizowanie produktów3Projekt: narzędzie do listy zadań
Przegląd projektuDodawanie zadaniaPoćwicz samodzielnie: Kompilator C++ online