CodeBlanks Logo Icon CodeBlanks

Dizi erişimi

  • C kursu
  • Başlangıç
  • Ders 54/116
  • 4 dk

Dizin ile dizi elemanlarına erişmeyi ve değiştirmeyi öğrenirsin.

Dizi erişimi

Dizi elemanlarına indeks ile erişirsin. İndeks 0'dan başlar; uzunluğu n olan dizinin son indeksi n - 1'dir.

int scores[5] = {85, 92, 78, 90, 88};
printf("%d\n", scores[0]);  // 85
printf("%d\n", scores[4]);  // 88
scores[2] = 80;  // 78'i 80 yap

İndeks sınırdan büyük olursa tanımsız davranış olur; bu yüzden döngülerde i < n kullanılır, i <= n değil. Elemanı hem okuyabilir hem değiştirebilirsin.

Eleman değiştirme

Dizi elemanını = ile değiştirebilirsin. Eski değer kaybolur, yeni değer o indekse yazılır.

int nums[3] = {10, 20, 30};
nums[1] = 99;
printf("%d %d %d\n", nums[0], nums[1], nums[2]);
// Çıktı: 10 99 30

Burada nums[1] başlangıçta 20 idi; 99 yaptık. Diğer elemanlar değişmedi. Bu, döngü içinde belli koşullara göre eleman güncellemek için kullanışlıdır.

Uygulama Elemanı değiştir ve yazdır

Bir C programı yaz. int nums[3] = {10, 20, 30}; tanımla. nums[1] = 99; ile ortadaki elemanı değiştir. printf("%d %d %d\n", nums[0], nums[1], nums[2]); ile üç değeri yazdır. #include <stdio.h> başta olsun.

Başlangıç kodu

main.c
#include <stdio.h>

int main(void) {
    // nums dizisini tanımla, ortadaki elemanı 99 yap ve yazdır
    return 0;
}

Örnek çözüm

main.c
#include <stdio.h>

int main(void) {
    int nums[3] = {10, 20, 30};
    nums[1] = 99;
    printf("%d %d %d\n", nums[0], nums[1], nums[2]);
    return 0;
}

Beklenen çıktı

10 99 30

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 İlk elemana eriş

Soru
printf("%d
", scores[____]);
Cevap
printf("%d
", scores[0]);

Açıklama: scores[0] ilk elemandır.

2 scores[5] dizisinin son indeksi nedir?

main.c
int scores[5] = {1,2,3,4,5};
  • 0
  • 5
  • 4 Doğru cevap
  • 6

Açıklama: 5 elemanlı dizinin son indeksi 4'tür.

3 İndeks kavramlarını eşleştir

Kavram Anlamı
scores[0] İlk eleman
scores[4] Son eleman (5'li)
nums[1] = 99 Değiştirme
scores[5] Geçersiz (taşma)

Başlangıç bölümündeki tüm dersler