24 Ekim 2016 Pazartesi

Karakter Dizileri (Strings)

Bazı programlama dillerinde karakter dizilerini tutmak için özel veri türleri (string, vb.) bulunmaktadır.

Ancak C programlama dilinde böyle bir veri türü olmadığı için yerine karakterlerden oluşan bir boyutlu diziler kullanılır.

Karakter dizilerine özel olarak, karakter dizilerinin sonuna sonlandırıcı karakter olarak adlandırılan bir simge eklenir.

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:
    (1) char s[7] = {'d','e','n','e','m','e','\0'};
    (2) char s[7] = "deneme";

Birinci tanımlamada sonlandırıcı karakter programcı tarafından konmalıdır.

İkinci tanımlamada ise buna gerek yoktur. Çünkü, sonlandırıcı karakter bu atamayla, derleyici tarafından eklenir.

Bir karakter dizisini klavyeden okumak için C'nin standart gets( ) fonksiyonu kullanılır.

stdio.h dışında yeni bir kitaplığı C programına dahil etmeye gerek yoktur.

Bu fonksiyon herhangi bir indeks tanımlamadan karakter dizilerinin okunmasını sağlar.

Okuduğu karakter dizisinin sonuna satır sonu işaretini değil, NULL değerini yerleştirir.


gets() fonksiyonu, klavyeden girilen karakter dizilerini, herhangi bir ek tanımlamaya gerek duymadan bir dizi içine yerleştirir.

Dizinin her bir karakteri dizinin farklı bir hücresi içine yerleşir.

Örnek:
    char ad[20];
         ...
        gets(ad);