DERS3 - C/C++ Ders Anlatımı - Karakter Katarları Sabitleri - Char Type - String

Merhaba arkadaşlar bu derste sizlere c programlama dilinindeki "char" değişken tipinden ve karakter katarlarından (string'lerden) bahsedeceğim.

 "char" ile bir önceki dersimizde söylediğimiz üzere sadece tek bir alfanumerik  karakter ('1','R','>','£','#',''$' gibi) değerini saklayabiliriz.

Bu hatırlatmadan sonra şimdi biraz düşünelim.

"Hello World" şeklindeki bir yazı aslında 'H','e','l','l','o',' ','w','o','r','l','d' karakterlerinden oluşmaktadır. Tüm bu karakterler ardı ardına yazıldığında "Hello World" yazısını elde ederiz.

 

Örnek tanımlamalar aşağıdaki gibi yapılabilir.

char karakterim1='1';
char karakterim2='#';
char karakterim3='A';

Böylece karakterden kelimeleri hatta cümleleri oluşturabiliriz. Bilmemiz gereken ayrıntı aslında şu olmalıdır. Karakter katarları bellekte birden fazla karakterin ardışık şekilde saklanması ile oluşturuluyorsa C programlama dili bu karakter katarının uzunluğunu nasıl anlayabiliyor? Çünkü bellek yapısını upuzun bir dizi şeklinde düşündüğümüzde "C programlama" şeklindeki bir string ( karakter katarı)

 

C

 

p

r

o

g

r

a

m

l

a

m

a

0

 

şeklinde saklanmaktadır. Şekilde de gördüğünüz gibi C programlama dili string'in sonuna "0" koymaktadır. Bu sıfır aslında "null" anlamındaki sıfırdır. Yani ascii kodu 48 olan aynı zamanda "0"(sıfır) rakamı anlamına gelen sıfır değildir. Programlama dilleri "null" işaretini karakter katarlarının sonuna yerleştirerek bu işaret ile karşılaşıldığında yazının sonuna gelindiğini anlarlar. Diyelim ki "null" işareti ile karakter dizisinin sonu belirtilmemiş olsun. Böyle bir durumda bu yazıyı ekrana yazdırmak istediğimizi düşünelim. Ekrana sırası ile metnin karakterleri yazdırılmaya başlanır. Yazı yazdırılır, yazının sonuna gelindiğinde bellekte yine herhangi bir değer olacağı için ekrana yazdırma fonksiyonu (örneğin printf) yazının devamındaki bellek adresindeki değerleri ekrana yazdırmaya devam eder. Bu istenmeyen bir durumdur. Bu nedenle karakter katarları (string'ler) "null" ile sonlandırılır. Çok şanslıyız ki çoğu programlama dili bu null işaretini kendisi string'imizin sonuna ekler.

Özetlersek tüm karakter katarları null ile biter ve biz bu işareti görmeyiz.

*C programlama dilinde string kullanımı*

String yani karakter katarının ne olduğunu anlamış olduğunuzu umuyorum. Peki C programlama dilince nasıl string tanımlarız?

Aşağıda "www.bfgyazilim.com" şeklindeki bir string'i tutan karakter katarı tanımlamasını yapıp ekrana yazdıracağız.

#include <stdio.h>
void main(void)
{
char adres[20]="www.bfgyazilim.com";
printf("%s",adres);
}

ilk olarak adres adında,20 karakter uzunluğunda ve değeri "www.bfgyazilim.com" olan bir değişken tanımladık ve hemen ardından bu değişkenimizi printf fonksiyonu ile ekrana yazdırdık.

Oruçreis Mah. Tekstilkent Ticaret Merkezi B3 Blok NO:89 ESENLER/İSTANBUL
TEL:  0212 438 64 72 - 0212 853 36 06 - FAKS:0212 438 64 73
Web Tasarım - BFG Yazılım 

Evqolic.com Evinizin Alışveriş Merkezi