C Programlama Dili ; Diziler

Merhaba arkadaşlar  bugünkü yazımda tek boyutlu ,çok boyutlu dizileri ve dizi tanımlamaların nasıl yapıldığını kısaca anlatmaya çalışacağım.

C’de  tablo ,matris,veri depoları oluşturmak için dizi elemanları kullanılır. Program , girilen verileri sırasıyla bellekte alt alta sıralar . Dizi tanımlarken öncelikle dizide saklanacak  verilerin türü belirtilmeli  sonrasında köşeli parantezlerle  ( [8] ) dizinin eleman sayısı girilmelidir. Dizinin 1.elemanı  [0]  nolu bellek adresinde,  sonuncu elemanı ise              [eleman sayisi-1] adresinde saklanır.

Tek boyutlu diziler   için tanımlamalar  <veri türü><isim>[eleman sayısı] , çok boyutlu diziler için ise

<veri türü><isim>[satır][sütun][derinlik]…[vs. ]   şeklinde yapılır.tanımlamalara örnek olarak;

float dizi[10]:float türünde 10 elemanlı bir dizi .

int matris[][]:int  türünde eleman sayısı belli olmayan iki boyutlu dizi. Bu tür  tanımlamalarda matris boyutunu  girdiğimiz değer sayısı belirler.

 Matrislere ilk değeri verme: Herhangi bir değişken tanımlarken atama operatoru olarak  eşittiri (=) kullanıyorduk. Dizide bellek adreslerinde değer saklamak için buna benzer bir yol izlenir. Ayrıca dizilere ilk değer olarak 0 vermekte fayda var çünkü  kullandığımız bellekte daha önce başka bir sayı eklenmiş olabilir. Bu yüzden dizinin elemanlarına değer atarken atladığımız bir eleman önceki değerini kullanır bu da işlemlerimizin yanlış olmasına yol açar.

int sayilar[2]={0}

int tekboyut[5]={1,2,3,4,5} ;

float cokboyutlu[3][3]={{1,2,3},{5,5,5},{7,7,7}} veya {1,2,3,5,5,5,7,7,7}

cokboyutlu[2][1]=4; //dizinin 3.satır 2.sütun elemanın değeri 4 olarak atandı.

Dizilere karakter yazma: Dizilerde sayıların yanında karakter  tipinde tanımlamalar ve işlemler yapılabilir. Bir string oluştururken dizilerden faydalanabiliriz. Bunun için char tipinde tanımlama yapılmalı. Karakterlerle dizi oluştururken dizinin sonuna geldiğimizi belirten  elemana NULL (‘\0’)  denir .

char  bilgi[]=”komhedos” veya

char bilgi[8]={’k’,’o’,’m’,’h’,’e’,’d’,’o’,’s’}

c diziler

Bellekte komhedos yazısı bu şekilde yerleştirilmiş oldu. Şimdi de 3×3 ve 4×4 boyutundaki matrislerle toplama işlemi yapan programı inceleyelim.

 

Programın çalışma mantığı şöyle;

Önce 3×3 ve 4×4 matris için for döngüsünde  şartın sınırını belirledim if deyimiyle 3×3’lük matris için z ve l değerlerin yani sınırları sırasıyla 4 ve 3 yaptım. 4×4 için de aynı mantık geçerli. Matrisin elemanlarını aldıktan sonra tekrar bir for döngüsüyle ekrana yazdırdım. Matrisin elemanlarıni girerken scanf i kullandım getch ile de değer okunabilir bu sefer işaretçilerle girilen değerin adresi alınarak içindeki bilgi matris elemanına atanabilir ya da matris1[i][j]=getch()-48;  kodunu kullanarak ASCII kodundan 48 çıkararak değeri yazılabilir. En son olarak da main ana programında matristopla fonksiyonunu çağırarak programı tamamladım. Bi daha ki yazıda görüşmek üzere.

c programlama diziler

Bu yazı hakkında ne düşünüyorsun ?
  • Gereksiz 
  • Müthiş 
  • Normal 
  • Faydalı 
The following two tabs change content below.
Musa YILDIRIM
1993 yılında Adana’da doğdu. 2011 yılında Sivas Fen Lisesi’nden mezun oldu. Pamukkale Üniversitesi Elektrik ve Elektronik Mühendisiği’nden mezun oldu. İlgi alanları otomasyon ve mikrodenetleyicilerdir. Arzunun varolduğu yerde çözümün de var olacağına inanmaktadır.
Musa YILDIRIM

Latest posts by Musa YILDIRIM (see all)