08.11.2014 Views

c_kitap

c_kitap

c_kitap

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

C ve Sistem Programcıları Derneği - C Ders Notları - Necati Ergin<br />

VERİ TÜRLERİ<br />

Nesnelerin en önemli özelliklerinden biri, nesnenin türüdür. Tür (type), nesnenin olmazsa<br />

olmaz bir özelliğidir. Türü olmayan bir nesneden söz etmek mümkün değildir. Derleyiciler<br />

nesnelerle ve verilerle ilgili kod üretirken, tür bilgisinden faydalanır. Derleyiciler nesnenin<br />

tür bilgisinden, söz konusu veriyi bellekte ne şekilde tutacaklarını, verinin değerini elde<br />

etmek için veri alanındaki 1 ve 0 ları nasıl yorumlayacaklarını, veriyi hangi işlemlere<br />

sokabileceklerini öğrenir.<br />

Programlama dilleri açısından baktığımız zaman türleri iki ayrı gruba ayırabiliriz.<br />

1. Önceden Tanımlanmış Türler<br />

Programlama dilinin tasarımından kaynaklanan ve dilin kurallarına göre varlığı güvence<br />

altına alınmış olan türlerdir. Her programlama dili programcının doğrudan kullanabileceği,<br />

çeşitli özelliklere sahip veri türleri tanımlar. C dilinde de önceden tanımlanmış 11 tane<br />

veri türü vardır.<br />

2. Programcının Tanımlanmış Olduğu Türler<br />

Programlama dillerinin çoğu, önceden tanımlanmış veri türlerine ek olarak, programcının<br />

da yeni türler tanımlanmasına izin verir. Programcının tanımlayacağı bir nesne için<br />

önceden tanımlanmış veri türleri yetersiz kalırsa, programcı dilin belli sözdizim (sentaks)<br />

kurallarına uyarak kendi veri türünü yaratabilir. C dilinde de programcı yeni bir veri<br />

türünü derleyiciye tanıtabilir, tanıttığı veri türünden nesneler tanımlayabilir.<br />

Farklı programlama dillerindeki önceden tanımlanan veri türleri birbirlerinden farklı<br />

olabilir. Daha önce öğrenmiş olduğunuz bir programlama dilindeki türlerin aynısını C<br />

dilinde bulamayabilirsiniz.<br />

C dilinin önceden tanımlanmış 11 veri türü vardır. Bu veri türlerinden 8 tanesi tamsayı<br />

türünden verileri tutmak için, kalan 3 tanesi ise gerçek sayı türünden verileri tutmak için<br />

tasarlanmıştır. Biz bu türlere sırasıyla "tamsayı veri türleri" (integer types) ve "gerçek<br />

sayı veri türleri" (floating types) diyeceğiz.<br />

Tamsayı Veri Türleri<br />

C dilinin toplam 4 ayrı tamsayı veri türü (integer types) vardır. Ancak her birinin kendi<br />

içinde işaretli (signed) ve işaretsiz (unsigned) biçimi olduğundan toplam tamsayı türü 8<br />

kabul edilir.<br />

İşaretli (signed) tamsayı türlerinde pozitif ve negatif tam sayı değerleri tutulabilirken,<br />

işaretsiz (unsigned) veri türlerinde negatif tamsayı değerleri tutulamaz.<br />

Aşağıda C dilinin temel tamsayı veri türleri tanıtılıyor:<br />

İşaretli karakter türü:<br />

Bu veri türüne kısaca signed char türü denir.<br />

Şüphesiz char sözcüğü ingilizce "character" sözcüğünden kısaltılmıştır, Türkçe "karakter"<br />

anlamına gelir. Ancak bu türün ismi C'nin anahtar sözcükleri olan signed ve char<br />

sözcükleri ile özdeşleşip, "signed char" olarak söylenir. İşaretli char türünden bir<br />

nesnenin 1 byte'lık bir alanda tutulması C standartlarınca güvence altına alınmıştır.<br />

1 byte'lık bir alan işaretli olarak kullanıldığında bu alanda saklanabilecek değerler -128 /<br />

127 değerleri arasında olabilir.<br />

İşaretsiz karakter türü:<br />

İşaretsiz char türünün işaretli olandan farkı 1 byte'lık alanın işaretsiz olarak, yani<br />

yalnızca 0 ve pozitif sayıların ifadesi için kullanılmasıdır. Bu durumda işaretsiz char<br />

türünde 0 - 255 arasındaki tamsayı değerleri tutulabilir.<br />

Karakter türü:<br />

33/529

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!