Elemanlara Erişim
Coddy'nin C Journey'sinin Fundamentals bölümünün bir parçası — ders 54 / 63.
Diziler aynı türden birden fazla değeri depolar. Bir dizideki öğelere tek tek erişmek için dizin konumunu kullanırız.
C'de, dizi indeksleri 0'dan başlar. Bu, ilk elemanın 0. indekste, ikincinin 1. indekste olduğu ve bu şekilde devam ettiği anlamına gelir.
5 elemanlı bir tam sayı dizisi oluşturun:
int numbers[5] = {10, 20, 30, 40, 50};İlk elemana erişin (indeks 0):
int firstElement = numbers[0];Yukarıdaki kod yürütüldükten sonra, firstElement şunu içerir:
10Üçüncü öğeye erişin (indeks 2):
int thirdElement = numbers[2];Bu, 30 değerini thirdElement içinde saklar.
Dizi sınırlarının dışındaki bir öğeye erişmeye çalışmak (örneğimizdeki numbers[5] gibi), belirsiz davranışa yol açar ve programın çökmesine neden olabilir.
Görev
KolayŞu işlemleri gerçekleştiren getElement adında bir fonksiyon yazın:
- Parametre olarak bir tam sayı dizisi ve dizinin boyutunu alır
- Bir indeks parametresi alır
- Eğer indeks geçerliyse (dizi sınırları içerisindeyse), o indeksteki elemanı yazdırır
- Eğer indeks geçersizse (dizi sınırları dışındaysa), "Index out of bounds" yazdırır
Dizilerde indeksin 0 ile başladığını unutmayın, bu nedenle 6. eleman isteniyorsa array[5] ifadesine erişmeniz gerekir
Kopya kağıdı
Diziler aynı türden birden fazla değeri saklar. Dizi indeksleri 0'dan başlar.
Bir tam sayı dizisi oluşturun:
int numbers[5] = {10, 20, 30, 40, 50};Köşeli parantez ve indeks kullanarak elemanlara erişin:
int firstElement = numbers[0]; // 10 değerini alır
int thirdElement = numbers[2]; // 30 değerini alırDizi sınırlarının dışındaki elemanlara erişmek belirsiz davranışlara yol açar ve çökmelere neden olabilir.
Kendin dene
#include <stdio.h>
void getElement(int arr[], int size, int index) {
// Kodunuzu buraya yazın
}
int main() {
int size, index;
// Dizinin boyutunu oku
scanf("%d", &size);
int arr[size];
// Dizi elemanlarını oku
for(int i = 0; i < size; i++) {
scanf("%d", &arr[i]);
}
// Erişilecek indeksi oku
scanf("%d", &index);
getElement(arr, size, index);
return 0;
}Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Fundamentals bölümündeki tüm dersler
2Değişkenler
Veri TipleriTam Sayı (Integer)Float - DoubleKarakterlerBooleanlarSabitlerprintf TemelleriDeğişken İsimlendirme KurallarıTip Dönüşümü Bölüm 1Tip Dönüşümü Bölüm 2Özet Meydan Okuması3Operatörler
Aritmetik OperatörlerModül OperatörüArtırma/AzaltmaAtama Operatörleriİlişkisel OperatörlerMantıksal Operatörler Bölüm 1Mantıksal Operatörler Bölüm 2Mantıksal Operatörler Bölüm 3Özet Meydan Okuması