Adresy i dereferencja
Kurs C · Wyjaśnienie, przykłady, oczekiwany wynik i ćwiczenie.
Operator & pobiera adres zmiennej, a * odczytuje lub zmienia wartość pod adresem.
Poznać zagadnienie „Adresy i dereferencja”, zrozumieć przykład i umieć zastosować podobny zapis we własnym programie.
Wyjaśnienie krok po kroku
Nie wolno dereferencjonować wskaźnika niezainicjalizowanego.
Najpierw przeanalizuj kod bez uruchamiania. Zwróć uwagę, jakie dane wykorzystuje program, co z nimi robi i skąd bierze się wynik pokazany pod przykładem.
Praktyczny przykład
Gdzie zobaczysz efekt: Konsola programu C
Gdzie wkleić kod? To fragment ćwiczeniowy: instrukcje wykonawcze wstaw do main(), a deklaracje klas lub funkcji umieść w odpowiednim miejscu pliku. Uzupełnij wymagane importy i nagłówki.
int x = 8;
int *p = &x;
*p += 2;
printf("%d\n", x);
Przeczytaj kod linijka po linijce
int x = 8;Tworzymy lub aktualizujemy zmienną, pole albo przypisanie.int *p = &x;Tworzymy lub aktualizujemy zmienną, pole albo przypisanie.*p += 2;Tworzymy lub aktualizujemy zmienną, pole albo przypisanie.
10
Jak utrwalić tę umiejętność?
Przepisz kod samodzielnie. Następnie zmień jedną wartość lub jedną instrukcję i spróbuj przewidzieć efekt. Dopiero potem uruchom zmienioną wersję. Jeśli wynik jest inny niż oczekiwany, porównaj kolejne linie.
Spróbuj samodzielnie
Zmień wartość zmiennej przez wskaźnik.
Jeśli rozumiesz przykład, oznacz lekcję jako ukończoną i przejdź dalej.