Wskaźniki i tablice
Lekcja 6 z 14 w kursie Wskaźniki w C++ w Coddy.
Teraz, gdy znasz już wskaźniki stałe i wskaźniki do stałych oraz znasz różnicę między nimi, możemy przejść do związku między wskaźnikami a tablicami.
Gdy deklarujemy tablicę, jej nazwa jest w rzeczywistości wskaźnikiem stałym do wartości, która nie jest stała, więc adres, na który wskazuje wskaźnik, jest stały i nie można go zmienić, natomiast przechowywaną przez niego wartość można zmienić.
Jeśli mamy int list[10];, to list jest w rzeczywistości int * const, a list ma tę samą wartość co &list[0]
int list[] = {10, 20, 30, 40, 50};
cout << "First: " << *list << endl;
cout << "Third: " << *(list + 2) << endl;
int *ptr = list;
cout << "First again: " << *ptr;Output:
First: 10
Third: 30
First again: 10Jak widać, możemy użyć nazwy tablicy list jako wskaźnika do pierwszego elementu i wykonać potrzebne nam zadania. Jedynym ograniczeniem przy używaniu samego wskaźnika tablicy jest to, że nie możemy go zmienić. Gdy natomiast utworzymy wskaźnik ptr, który wskazuje na tę samą pamięć co list, możemy później zmienić jego położenie w programie, na przykład:
int list[] = {10, 20, 30, 40, 50};
int *ptr = list;
for(int i = 0; i < 5; i++)
cout << *ptr++ << " ";Output:
10 20 30 40 50Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wyzwanie
ŁatwyNie zmieniaj żadnego z domyślnych fragmentów kodu. Utworzono tablicę o nazwie numbers. Użyj wskaźnika numbers i dereferencji, aby wypisać wszystkie parzyste elementy tablicy, oddzielając je spacją.
Spróbuj swoich sił
#include <iostream>
using namespace std;
int main() {
// NIE ZMIENIAJ KODU PONIŻEJ
int n, x;
cin >> n;
int numbers[n];
for(int i = 0; i < n; i++)
cin >> numbers[i];
// NIE ZMIENIAJ KODU POWYŻEJ
// Wpisz tutaj swój kod
return 0;
}Wszystkie lekcje w sekcji Wskaźniki w C++
1Podstawy wskaźników
Wprowadzenie do wskaźnikówDeklaracja i inicjalizacjaArytmetyka – przypisanieArytmetyka – operacjeWskaźniki stałeWskaźniki i tablice2Wskaźniki i referencje
Wskaźniki jako parametryReferencje - &Referencje jako parametryWskaźniki a referencje3Dynamiczna alokacja pamięci
Operatory new i deleteWycieki pamięciTablica dynamicznaTablica dynamiczna — wstawianiePoćwicz samodzielnie: Kompilator C++ online