1.Ders : C ile Diziler (Arrays)

Bu yazıda, dizilerle çalışmayı öğreneceksiniz. Dizi öğelerini örneklerle birlikte bildirmeyi, başlatmayı ve erişmeyi öğreneceksiniz.

İçindekiler
C dilinde Diziler
Diziler nasıl bildirilir?
Dizi elemanlarına nasıl erişilir?
Bir dizi nasıl başlatılır?
Bir diziye elemanlar nasıl eklenir?
Bildirim sırasında diziyi başlat
Örnek: Diziler
Dizileri kullanırken dikkatli olun

Dizi nedir?

Dizi, tek bir türden sabit sayıda değer topluluğudur. Örneğin: 100 tamsayıyı sırayla saklamak istiyorsanız, bunun için bir dizi oluşturabilirsiniz.

int data[100];

Dizilerin boyutu ve türü bildirildikten sonra değiştirilemez.

Diziler iki türdendir:

Tek boyutlu diziler
Çok boyutlu diziler

Diziler nasıl bildirilir?

data_type array_name[array_size];

Örneğin :

float diziAd[5];

Burada, ondalıklı sayı tipine sahip ve büyüklüğü 5 olan bir diziAd dizisi oluşturduk. Anlamı, 5 tane ondalıklı sayı tutabilir.

Dizi elemanlarına nasıl erişilir?

Dizinin elemanlarına indekslerle (indices) erişebilirsiniz.

Yukarıdaki gibi bir dizi bildirdiğinizi varsayalım. Birinci eleman diziAd[0], ikinci eleman diziAd[1] ve benzeri şekilde devam eder.

Birkaç önemli not:
* Dizilerin ilk dizini 0’dır, 1 değil .
* Bir dizinin boyutu n ise, son elemana erişmek için (n-1) dizini kullanılır.
* [0] işaretinin başlangıç adresinin 2120d olduğunu varsayalım. Daha sonraki adres 2124d, sonraki 2128d, vb. Olacaktır. Bunun nedeni bir float ‘ın boyutu 4 bayttır.

Bir dizi nasıl başlatılır?

Bildirim sırasında bir dizi başlatmak mümkündür. Örneğin:

int diziAd[5] = {19, 10, 8, 17, 9};

Bildirim sırasında dizi başlatmak için başka bir yöntem:

int diziAd[] = {19, 10, 8, 17, 9};

Çıktısı :

diziAd[0] eşittir 19
diziAd[1] eşittir 10
diziAd[2] eşittir 8
diziAd[3] eşittir 17
diziAd[4] eşittir 9

Dizi elemanları nasıl eklenir ve yazdırılır?

int diziAd[5] = {19, 10, 8, 17, 9}

// dördüncü elemana farklı değer ekleyin
diziAd[3] = 9;

// kullanıcıdan alınan değeri üçüncü elemana eklemek
​scanf("%d", &diziAd[2]);

// kullanıcıdan alınan değeri (i + 1) 'inci elemana eklemek
scanf("%d", &diziAd[i]);

// Bir dizinin ilk elemanını yazdır
printf("%d", diziAd[0]);

// Bir dizinin son elemanını yazdır
printf("%d", diziAd[i-1]);

Örnek: C Dizileri

// Dizileri kullanarak n kadar sayının ortalamasını bulma programı

#include <stdio.h>
int main()
{
     int marks[10], i, n, sum = 0, average;
     printf("n değerini girin: ");
     scanf("%d", &n);
     for(i=0; i<n; ++i)
     {
          printf("Gir sayi%d: ",i+1);
          scanf("%d", &marks[i]);
          sum += marks[i];
     }
     average = sum/n;

     printf("Ortalama = %d", average);

     return 0;
}

Çıktısı :

n değerini girin: 5
Gir sayi1: 45
Gir sayi2: 35
Gir sayi3: 38
Gir sayi4: 31
Gir sayi5: 49
Ortalama = 39

C dizileriyle çalışırken hatırlanması gereken önemli bir konu :

  • 10 öğeli bir dizi bildirdiğinizi varsayalım,
int testArray[10];

Dizi üyelerini testArray [0] ‘dan testArray [9]’ a kadar kullanabilirsiniz.

Dizi öğelerine sınırlarının dışında erişmeye çalışırsanız (mesela testArray [12] diyelim), derleyici herhangi bir hata göstermeyebilir. Ancak, bu beklenmeyen çıktılara neden olabilir.

Daha fazla bilgi edinmek için bu örnekleri inceleyin:

C Dizileri Kullanarak Ortalama Hesaplama Programı

Bir Dizinin En Büyük Öğesini Bulmak için C Programı