C DE STRİNG KULLANIMI

KELİME DİZİLERİ (STRING) NEDİR?


Bir “string” ya da “kelime katarı”, genellikle harflerden oluşan karakterler dizisidir. Çıktınızın güzel ve manalı görünmesi için, içinde isimler ve adresler olabilmesi için, programlarınızın string'ler kullanması şarttır. C dilinde string in tam tanımı, "char" tipi bilgilerin, NULL karakter (yani sıfır) ile sonlandırılması'dır.

C'de bir string'in karşılaştıracağı, kopyalayacağı yada ekrana yansıtacağı zaman, bunları gerçekleştiren fonksiyonlar, string'in sonundaki NULL bulunana dek bu işlemi yapmak üzere programlanmıştır.

STRING NASIL KULLANILIR


Demek ki, "isim" değişkeni, içinde 7 tane karakter tutabilir. Fakat en son
karakterin sıfır olması zorunluluğu olduğu için, kullanılabilecek olan alan
6 karakterliktir. Bu stringin içine manalı bir şey yüklemek için, yedi tane
komut veriyoruz - her biri, stringe bir karakter atamaktadır. En sonunda da,
stringin sonunu belirten sıfır rakamını koyuyoruz. (Bir "#define" ile NULL
karakteri, programın başında sıfır olarak tanımlayabiliriz)

printf komutundaki %s işareti, printf'e "isim" isimli stringden, sıfıra
rastlayıncaya kadar ekrana yazmasını belirtir. Dikkat etmeniz gereken bir
nokta, "isim" değişkeninin indexinin yazılmasının gerekmediğidir

STRING'İN BİR KISMININ YAZILMASI

İkinci printf komutu ise %c ile, stringin içinden sadece bir karakter
(harf) yazılmasını gösterir istediğimiz karakterin index numarasını da,
"isim" değişkeninin yanına, köşeli parantezler arasında gösterebiliriz

Son printf komutunda ise, stringin 4. karakterinden itibaren yazmanın bir
örneğidir"isim" değişkeninin önündeki & (ampersand) işareti isim[3]'un
hafızada saklandığı adresin printf'e geçirilmesini belirtir. Adresleri 8.
konuda göreceğiz, fakat ufak bir örnek ile size bizleri nelerin
beklediğini göstermek istedim.

BAZI STRING FONKSIYONLARI 

STRING.C

main()
{
    char isim1[12],isim2[12],karisik[25];
    char baslik[20];

    strcpy(isim1,"Rosalinda");
    strcpy(isim2,"Zeke");
    strcpy(baslik,"Bu bir basliktir.");

    printf(" %s\n\n" ,baslik);
    printf("isim 1: %s \n",isim1);
    printf("isim 2: %s \n",isim2);

    if(strcmp(isim1,isim2)>0) /* sayet isim1 > isim2 ise, 1 dondurur */
        strcpy(karisik,isim1);
    else
        strcpy(karisik,isim2);

    printf("Alfabetik olarak en buyuk isim %s dir.\n",karisik);

    strcpy(karisik,isim1);
    strcat(karisik," ");
    strcat(karisik,isim2);
    printf("Iki isim birden %s\n",karisik);
}
lk önce 4 tane string tanımlıyoruz. Daha sonra, "strcpy" isimli çok pratik
bir fonksiyona geliyoruz. yaptığı is, bir stringi, bir diğerine, ta ki
sıfır bulunana kadar kopyalamak. Hangi string'in hangisine kopyalanacağını hatırlamak icin, bir atama komutunu dusunun ("x=23" gibi).
Veri, sağdakinden, soldakine kopyalanır. Bu komutun yapılmasından sonra, isim1 in içinde, "Rosalinda" olacaktır – çift tırnaksız olarak.
Çift tırnaklar, derleyicinin sizin bir string tanımladığınızı anlaması için gereklidir.

Yorumlar

Bu blogdaki popüler yayınlar

ANAKART

C DERLEYİCİLERİ