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 pozycji indeksu, aby uzyskać dostęp do poszczególnych elementów tablicy.
W języku C indeksy tablic 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];Ta instrukcja zapisuje wartość 30 w zmiennej thirdElement.
Próba uzyskania dostępu do elementu poza zakresem 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 tablicę liczb całkowitych i jej rozmiar jako parametry
- Przyjmuje parametr indeksu
- Jeśli indeks jest prawidłowy (mieści się w granicach tablicy), wypisuje element o tym indeksie
- Jeśli indeks jest nieprawidłowy (poza granicami tablicy), wypisuje
Index out of bounds
Parametr
indexjest już liczony od zera: użyj go bezpośrednio jakoarr[index](indeks5oznacza 6. element). Prawidłowe indeksy mieszczą się w zakresie od0dosize - 1.
Spróbuj swoich sił
#include <stdio.h>
void getElement(int arr[], int size, int index) {
// Napisz 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