ANASAYFA

C PROGRAMLAMA (13)

Serimizin 13.sü…

DİZİLER 2
Karakter Dizileri (Strings)

C dilinde, karakter dizileri oldukça sık kullanılır. Sadece karakter dizilerine özel olarak, karakter dizilerinin sonuna sonlandırcı karakter olarak adlandırılan bir simge eklenir. Sonlandırcı karakter, işlemlerin hızlı ve etkin bir biçimde yapılabilmesine olanak sağlar.
Sonlandırıcı karakter:
* dizinin bittiği yeri gösterir,
*ASCII tablosunun sıfır numaralı (‘\0’) karakteridir.
Karakter dizilerine iki şekilde başlangıç değeri verilebilir.
char s[7] = {‘d’,’e’,’n’,’e’,’m’,’e’,’\0′}; yada
char s[7] = “deneme”;
Birinci tanımlamada sonlandırıcı karakter programcı tarafından konmalıdır. Ikinci tanımlamada ise buna gerek yoktur. Çünkü, sonlandırıcı karakter bu atamayla, derleyici tarafından eklenir.
NOT!!!
char s[7] = “deneme”;
ataması geçeli olmasına rağmen, aşağıdaki atama geçersizdir:
char s[7];
char s = “deneme”;
Karakter dizileri gets() fonksiyonu ile klavyeden okunabilir.
char ad[20]; … gets(ad);

Girdiğimiz karakterin uzunluğunu bulan bir örnek inceleyelim
Girdiğimiz karakterin tersini yazan bir örnek

Çok Boyutlu Diziler

Bir dizi aşağıdaki gibi bildirildiğinde bir boyutlu (tek indisli) dizi olarak adlandırılır. Bu tip dizilere vektör denir.
float a[9];
Bir dizi birden çok boyuta sahip olabilir. Örneğin iki boyutlu b dizisi şöyle tanımlanabilir:
float b[9][4];
İki boyutlu diziler matris olarak adlandırılır. ilk boyuta satır, ikinci boyuta sütün denir. Yukarıda b matrisinin eleman sayısı 9×4=36 dır. Bu durumda, genel olarak bir dizi şöyle gösterilir:


Çok boyutlu diziler tek boyuta indir generek bellekte tutulurlar. Tek indisli dizilerde olduğu gibi, çok indisli dizilere de başlangıç değeri vermek mümkün. Örneğin 3 satır ve 4 sütünlu (3×4=12 elemanlı) bir x matrisinin elemanları şöyle tanımlanabilir:
int x[3][4] = {11,34,42,60, 72,99,10,50, 80,66,21,38};
Bu matris ekrana matris formunda yazılmak istendiğinde:
for(i=0; i<3; i++)
{
for(j=0; j<4; j++)
printf(“%4d”,x[i][j]);
printf(“\n”);
}

çıktısı:
11 34 42 60
72 99 10 50
80 66 21 38
şeklinde olacaktır.









0 0 vote
Article Rating
[Toplam: 0   Ortalama: 0/5]
Yorum Yapmak İçin Tıklayın
Subscribe
Bildir
guest
0 Yorum
Inline Feedbacks
View all comments
To Top
0
Would love your thoughts, please comment.x
()
x