Dostęp do elementów
Część sekcji Podstawy ścieżki C w Coddy. Lekcja 54 z 63.
Tablice przechowują wiele wartości tego samego typu. Używamy indeksu, aby uzyskać dostęp do poszczególnych elementów tablicy.
W języku C indeksy tablicy zaczynają się od 0. Oznacza to, że pierwszy element znajduje się pod indeksem 0, drugi pod indeksem 1 i tak dalej.
Utwórz tablicę liczb całkowitych z 5 elementami:
int numbers[5] = {10, 20, 30, 40, 50};Uzyskaj dostęp do pierwszego elementu (indeks 0):
int firstElement = numbers[0];Po wykonaniu powyższego kodu firstElement zawiera:
10Uzyskaj dostęp do trzeciego elementu (indeks 2):
int thirdElement = numbers[2];To zapisuje wartość 30 w zmiennej thirdElement.
Próba uzyskania dostępu do elementu poza granicami tablicy (takiego jak numbers[5] w naszym przykładzie) prowadzi do niezdefiniowanego zachowania i może spowodować awarię programu.
Wyzwanie
ŁatwyNapisz funkcję o nazwie getElement, która:
- Przyjmuje jako parametry tablicę liczb całkowitych i jej rozmiar
- Przyjmuje parametr indeksu
- Jeśli indeks jest prawidłowy (mieści się w zakresie tablicy), wypisuje element o tym indeksie
- Jeśli indeks jest nieprawidłowy (wykracza poza zakres tablicy), wypisuje
Index out of bounds
Pamiętaj, że indeksowanie tablic zaczyna się od 0, więc jeśli chcesz uzyskać 6. element, musisz uzyskać dostęp do array[5]
Spróbuj swoich sił
#include <stdio.h>
void getElement(int arr[], int size, int index) {
// Wpisz tutaj swój kod
}
int main() {
int size, index;
// Wczytaj rozmiar tablicy
scanf("%d", &size);
int arr[size];
// Wczytaj elementy tablicy
for(int i = 0; i < size; i++) {
scanf("%d", &arr[i]);
}
// Wczytaj indeks elementu, do którego chcesz uzyskać dostęp
scanf("%d", &index);
getElement(arr, size, index);
return 0;
}Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
2Zmienne
Typy danychLiczby całkowiteLiczby zmiennoprzecinkowe — float i doubleZnakiWartości logiczneStałePodstawy printfZasady nazewnictwa zmiennychKonwersja typów — część 1Konwersja typów — część 2Wyzwanie podsumowujące3Operatory
Operatory arytmetyczneOperator moduloInkrementacja/dekrementacjaOperatory przypisaniaOperatory relacyjneOperatory logiczne — część 1Operatory logiczne — część 2Operatory logiczne — część 3Wyzwanie podsumowującePoćwicz samodzielnie: Kompilator C online