C Dizileri (Örneklerle)

Bu eğitimde, dizilerle çalışmayı öğreneceksiniz. Örnekler yardımıyla bir dizinin elemanlarını bildirmeyi, başlatmayı ve bunlara erişmeyi öğreneceksiniz.

Dizi, birden çok değeri depolayabilen bir değişkendir. Örneğin, 100 tamsayı saklamak istiyorsanız, bunun için bir dizi oluşturabilirsiniz.

 int data(100); 

Bir dizi nasıl bildirilir?

 dataType arrayName (arraySize); 

Örneğin,

 şamandıra işareti (5);

Burada, kayan noktalı tipte bir dizi, mark tanımladık. Ve boyutu 5'tir. Yani 5 kayan nokta değeri tutabilir.

Bir dizinin boyutunun ve türünün, bildirildikten sonra değiştirilemeyeceğine dikkat etmek önemlidir.

Dizi Öğelerine Erişim

Bir dizinin elemanlarına indislere göre erişebilirsiniz.

Yukarıdaki gibi bir dizi işareti tanımladığınızı varsayalım. İlk eleman işaret (0), ikinci eleman işaret (1) vb.

Birkaç önemli not :

  • Dizilerin ilk indeksi 0'dur, 1 değil. Bu örnekte, işaret (0) ilk elemandır.
  • Bir dizinin boyutu n ise, son elemana erişmek için n-1dizin kullanılır. Bu örnekte, (4) işaretleyin
  • Başlangıç adresi varsayalım mark(0)olduğunu 2120d . Daha sonra adresi 2124dmark(1) olacaktır . Benzer şekilde, adresi olacak 2128d vb. Bunun nedeni, a'nın boyutunun 4 bayt olmasıdır.mark(2)
    float

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

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

 int mark(5) = (19, 10, 8, 17, 9);

Bunun gibi bir diziyi de başlatabilirsiniz.

 int mark() = (19, 10, 8, 17, 9);

Burada bedeni belirtmedik. Bununla birlikte, biz onu 5 elemanla başlattığımız için derleyici boyutunun 5 olduğunu bilir.

Buraya,

 işaret (0) 19'a eşittir işaret (1) 10'a eşittir işaret (2) 8'e eşittir işaret (3) 17'ye eşittir işaret (4) 9'a eşittir

Dizi öğelerinin Değerini Değiştirin

 int mark(5) = (19, 10, 8, 17, 9) // make the value of the third element to -1 mark(2) = -1; // make the value of the fifth element to 0 mark(4) = 0; 

Giriş ve Çıkış Dizisi Öğeleri

Kullanıcıdan nasıl girdi alabileceğiniz ve onu bir dizi öğesinde nasıl saklayabileceğiniz aşağıda açıklanmıştır.

 // take input and store it in the 3rd element scanf("%d", &mark(2)); // take input and store it in the ith element scanf("%d", &mark(i-1)); 

Bir dizinin tek bir öğesini nasıl yazdırabileceğiniz aşağıda açıklanmıştır.

 // print the first element of the array printf("%d", mark(0)); // print the third element of the array printf("%d", mark(2)); // print ith element of the array printf("%d", mark(i-1)); 

Örnek 1: Dizi Girişi / Çıkışı

 // Program to take 5 values from the user and store them in an array // Print the elements stored in the array #include int main() ( int values(5); printf("Enter 5 integers: "); // taking input and storing it in an array for(int i = 0; i < 5; ++i) ( scanf("%d", &values(i)); ) printf("Displaying integers: "); // printing elements of an array for(int i = 0; i < 5; ++i) ( printf("%d", values(i)); ) return 0; ) 

Çıktı

 5 tam sayı girin: 1-3 34 0 3 Tam sayıların görüntülenmesi: 1-3 34 0 3 

Burada forkullanıcıdan 5 girdi alıp bir dizide saklamak için bir döngü kullandık . Ardından, başka bir fordöngü kullanılarak bu öğeler ekranda görüntülenir.

Örnek 2: Ortalamayı Hesapla

 // Program to find the average of n numbers using arrays #include int main() ( int marks(10), i, n, sum = 0, average; printf("Enter number of elements: "); scanf("%d", &n); for(i=0; i  

Output

 Enter n: 5 Enter number1: 45 Enter number2: 35 Enter number3: 38 Enter number4: 31 Enter number5: 49 Average = 39 

Here, we have computed the average of n numbers entered by the user.

Access elements out of its bound!

Suppose you declared an array of 10 elements. Let's say,

 int testArray(10);

You can access the array elements from testArray(0) to testArray(9).

Now let's say if you try to access testArray(12). The element is not available. This may cause unexpected output (undefined behavior). Sometimes you might get an error and some other time your program may run correctly.

Hence, you should never access elements of an array outside of its bound.

Multidimensional arrays

In this tutorial, you learned about arrays. These arrays are called one-dimensional arrays.

In the next tutorial, you will learn about multidimensional arrays (array of an array).

Ilginç makaleler...