C Dizi Değişkenler

C Dizi Değişkenler

Tarhi : 27-12-2020 11:32:56 | Yazar : ÇAĞLAR BOSTANCI

Bir değişken tanımladığınızda bilgisayarın RAM’ında değişken değerinin tutulması için bir alan ayrılır. Ayrılan her alanında bir referans değeri vardır. Değişken içerisindeki değere ihtiyaç duyulduğunda o referans numarasındaki data alınarak kullanılır. Bu durum sadece bir değişken için geçerlidir. Dizi değişkenlerin yapısı ise ilk değerin RAM’deki referans değeri belirlenir ve bir sonraki referans değerine ise dizi değişkeninin ikinci değeri tutulur. C’de dizi değişkenler aynı değer tipinde olmalıdır.

Dizi değişken tanımlanırken önce değişkenin tipi sonra değişken adı ve hem sonrasına ise [] parantezle kullanılır. Daha sonra atama operatörü eklenir= kümeparantezler {deger,deger,deger} ile değerler tanımlanır. Tanımlanan değerler bir birinden virgüller ayrılarak yazılır. Bir dizi değişken içinde her değere bir index numarası atanır. İndex numaraları ilk değer 0 ile başlamak üzere bir bir artarak yükselir. Aslında ilk değerin aldığı referans numarasından sonra kaç adım geriye gidileceği anlamınada gelir. Aşağıda örnek bir tanımla ve ekrana çıktı verme işlemi yapalım.

Örne bir dizi daha oluşturalım.

Bir dizi değişken içerisinde kaçtan deger olduğunu bilemezyiz. Dizi değişken sayısını öğrenmek için sizeof(dizi)/sizeof(int) fonksiyonu kullanılır.

Peki dizi içerisindeki değişken sayısını bilmek bize ne sağlayacak? Aslında herşeyi, örneğin dizi elemanlarını tek tek ekrana basmak yerine bir döngü ile basmamızı sağlayacak.

C’de Karakter Dizileri

C dilinde karaterleri char değişken tipide tutmaktayız. Bir haraf için bir char değer oluşturulur. Bir sözcük içinse char dizisiz tutulur. char sozcuk[]={“Mehmet”} Bu değişkenin yapısı : sozcuk[0]=”m”
sozcuk[1]=”e”
sozcuk[2]=”h”
sozcuk[3]=”m”
sozcuk[4]=”e”
sozcuk[5]=”t”
sozcuk[0]=”\0″

Diyecek sinizki “\0” nerden çıktı. İlk dizi değişken RAM’da bir referans numarası aldıktan sonra sonraki referans için dizinin ikinci elemanına verilir. Dizinin nerede bittiğini anlamak içinse dizinin son elemanına “\0” yani Null sabiti eklenir. Bu sabit ile dizinin sona erdiğini anlamış oluruz. Aynız zamanda diziyi ekrana bastığınızda son bir boşluk oluştuğunu göreceksiniz. O boşluğu sonlandırıcı sabiti yapmaktadır. Biz yukarıdaki değişkenin değer saysını sizeof(sozcuk)sizeof(char) şeklinde aldığımızda bize 7 değerini verecektir. Normalde altı karater olduğu için altı değişken tanımlanır ve son olarak sonlandırıcı eklenir sonlandırıcı ile beraber dizi sayısı 7 olur. String veri türlerinde değişken sayılarını alırken sizeof(sozcuk)sizeof(char)-1 şeklinde kullanarak sonladırıcıyı çıkarırız.

Scanf ile consoldan kullanıcının adını ve soyadını girmesini isteyelim ve daha sonra ekrana basalım.

C Matris Dizi Değişkenler

Matris dizi değişkenler dizi değişken değerleri içersinde de yine dizi değerler tutabileceğimiz anlamına geliyor. int sayi[] şeklinde tanımlamış oldumuz dizi değişken tek boyutludur. int sayi[][] şeklindeki tanımlama ise iki boyutlu bir dizi değişken tanımlamsı yaptığımız anlamına gelmektedir. int sayi[][][] = 3 boyutlu, int sayi[][][][] = 4 boyutlu matris değişen …… Matris değişkenlere bir örnek yapalım.

Şimdi bu diziyi döngüyle yazdıralım.

Daha da pekiştirelim 3 boyutlu bir dizi yapalım.

Sözcüklerle matris dizi değişkeni oluşturalım. Sözcükler C PERL PHP yapı aşağıdaki gibidir.

Aslında ikinci boyuttaki her sözcüğün uzunluğu 5 olarak varsayılmış.

Daha da pekiştirelim ve sözcükleri kullanıcının girmesini isteyelim.


Array ( [0] => WP_Term Object ( [term_id] => 468 [name] => C başlangıç [slug] => c-baslangic [term_group] => 0 [term_taxonomy_id] => 468 [taxonomy] => post_tag [description] => [parent] => 0 [count] => 3 [filter] => raw ) [1] => WP_Term Object ( [term_id] => 478 [name] => C de Dört İşlem [slug] => c-de-dort-islem [term_group] => 0 [term_taxonomy_id] => 478 [taxonomy] => post_tag [description] => [parent] => 0 [count] => 1 [filter] => raw ) [2] => WP_Term Object ( [term_id] => 476 [name] => C de Sabit Değişken Tanımlama [slug] => c-de-sabit-degisken-tanimlama [term_group] => 0 [term_taxonomy_id] => 476 [taxonomy] => post_tag [description] => [parent] => 0 [count] => 1 [filter] => raw ) [3] => WP_Term Object ( [term_id] => 475 [name] => C Değişken Tipleri [slug] => c-degisken-tipleri [term_group] => 0 [term_taxonomy_id] => 475 [taxonomy] => post_tag [description] => [parent] => 0 [count] => 1 [filter] => raw ) [4] => WP_Term Object ( [term_id] => 467 [name] => C dersleri [slug] => c-dersleri [term_group] => 0 [term_taxonomy_id] => 467 [taxonomy] => post_tag [description] => [parent] => 0 [count] => 4 [filter] => raw ) [5] => WP_Term Object ( [term_id] => 469 [name] => C programlama dili [slug] => c-programlama-dili [term_group] => 0 [term_taxonomy_id] => 469 [taxonomy] => post_tag [description] => [parent] => 0 [count] => 1 [filter] => raw ) [6] => WP_Term Object ( [term_id] => 486 [name] => C’de Continue Kullanımı [slug] => cde-continue-kullanimi [term_group] => 0 [term_taxonomy_id] => 486 [taxonomy] => post_tag [description] => [parent] => 0 [count] => 1 [filter] => raw ) [7] => WP_Term Object ( [term_id] => 483 [name] => C’de Dallanma Komutu GOTO Kullanımı [slug] => cde-dallanma-komutu-goto-kullanimi [term_group] => 0 [term_taxonomy_id] => 483 [taxonomy] => post_tag [description] => [parent] => 0 [count] => 1 [filter] => raw ) [8] => WP_Term Object ( [term_id] => 485 [name] => C’de Do while Kullanımı [slug] => cde-do-while-kullanimi [term_group] => 0 [term_taxonomy_id] => 484 [taxonomy] => post_tag [description] => [parent] => 0 [count] => 1 [filter] => raw ) [9] => WP_Term Object ( [term_id] => 481 [name] => C’de Döngüler [slug] => cde-donguler [term_group] => 0 [term_taxonomy_id] => 481 [taxonomy] => post_tag [description] => [parent] => 0 [count] => 1 [filter] => raw ) [10] => WP_Term Object ( [term_id] => 482 [name] => C’de For Döngüsü [slug] => cde-for-dongusu [term_group] => 0 [term_taxonomy_id] => 482 [taxonomy] => post_tag [description] => [parent] => 0 [count] => 1 [filter] => raw ) [11] => WP_Term Object ( [term_id] => 480 [name] => C’de İf-else if Kullanımı [slug] => cde-if-else-if-kullanimi [term_group] => 0 [term_taxonomy_id] => 480 [taxonomy] => post_tag [description] => [parent] => 0 [count] => 1 [filter] => raw ) [12] => WP_Term Object ( [term_id] => 477 [name] => C’de Kara Yapıları İf Kullanımı [slug] => cde-kara-yapilari-if-kullanimi [term_group] => 0 [term_taxonomy_id] => 477 [taxonomy] => post_tag [description] => [parent] => 0 [count] => 1 [filter] => raw ) [13] => WP_Term Object ( [term_id] => 479 [name] => c’de switch Kullanımı [slug] => cde-switch-kullanimi [term_group] => 0 [term_taxonomy_id] => 479 [taxonomy] => post_tag [description] => [parent] => 0 [count] => 1 [filter] => raw ) [14] => WP_Term Object ( [term_id] => 484 [name] => C’de While Döngüsü [slug] => cde-while-dongusu [term_group] => 0 [term_taxonomy_id] => 485 [taxonomy] => post_tag [description] => [parent] => 0 [count] => 1 [filter] => raw ) [15] => WP_Term Object ( [term_id] => 17 [name] => çağlar hoca [slug] => caglar-hoca [term_group] => 0 [term_taxonomy_id] => 17 [taxonomy] => post_tag [description] => [parent] => 0 [count] => 12 [filter] => raw ) [16] => WP_Term Object ( [term_id] => 169 [name] => PHP Hocası [slug] => php-hocasi [term_group] => 0 [term_taxonomy_id] => 169 [taxonomy] => post_tag [description] => [parent] => 0 [count] => 19 [filter] => raw ) [17] => WP_Term Object ( [term_id] => 171 [name] => PHP Uzmanı [slug] => php-uzmani [term_group] => 0 [term_taxonomy_id] => 171 [taxonomy] => post_tag [description] => [parent] => 0 [count] => 24 [filter] => raw ) [18] => WP_Term Object ( [term_id] => 473 [name] => programlama [slug] => programlama [term_group] => 0 [term_taxonomy_id] => 473 [taxonomy] => post_tag [description] => [parent] => 0 [count] => 1 [filter] => raw ) [19] => WP_Term Object ( [term_id] => 471 [name] => programlama dersleri [slug] => programlama-dersleri [term_group] => 0 [term_taxonomy_id] => 471 [taxonomy] => post_tag [description] => [parent] => 0 [count] => 1 [filter] => raw ) [20] => WP_Term Object ( [term_id] => 472 [name] => turkey php developer [slug] => turkey-php-developer [term_group] => 0 [term_taxonomy_id] => 472 [taxonomy] => post_tag [description] => [parent] => 0 [count] => 3 [filter] => raw ) [21] => WP_Term Object ( [term_id] => 164 [name] => web tasarım [slug] => web-tasarim [term_group] => 0 [term_taxonomy_id] => 164 [taxonomy] => post_tag [description] => [parent] => 0 [count] => 18 [filter] => raw ) [22] => WP_Term Object ( [term_id] => 470 [name] => Yazılım dersleri [slug] => yazilim-dersleri [term_group] => 0 [term_taxonomy_id] => 470 [taxonomy] => post_tag [description] => [parent] => 0 [count] => 1 [filter] => raw ) )