2.1 Veri Tipleri

2.1   Veri Tipleri

Veri tipi (data type) program içinde kullanılacak değişken, sabit, fonksiyon isimleri gibi tanımlayıcıların tipini, yani bellekte ayrılacak bölgenin büyüklüğünü, belirlemek için kullanılır. Bir programcı, bir programlama dilinde ilk olarak öğrenmesi gereken, o dile ait veri tipleridir. Çünkü bu, programcının kullanacağı değişkenlerin ve sabitlerin sınırlarını belirler. C programlama dilinde dört tane temel veri tipi bulunmaktadır. Bunlar:

Fakat bazı özel niteleyiciler vardır ki bunlar yukarıdaki temel tiplerin önüne gelerek onların türevlerini oluşturur. Bunlar:

Bu niteleyiciler sayesinde değişkenin bellekte kaplayacağı alan isteğe göre değiştirilebilir. Kısa (short), uzun (long), ve normal (int) tamsayı arasında yalnızca uzunluk farkı vardır. Eğer normal tamsayı 32 bit (4 bayt) ise uzun tamsayı 64 bit (8 bayt) uzunluğunda ve kısa tamsayı 16 biti (2 bayt) geçmeyecek uzunluktadır. İşaretsiz (unsigned) ön eki kullanıldığı taktirde, veri tipi ile saklanacak değerin sıfır ve sıfırdan büyük olması sağlanır. İşaretli ve işaretsiz verilerin bellekteki uzunlukları aynıdır. Fakat, işaretsiz tipindeki verilerin üst limiti, işaretlinin iki katıdır.

 NOT 

Kısa ve uzun tamsayı tutacak tanımlayıcılar için int anahtar kelimesinin yazılmasına gerek yoktur.

Bir C programı içerisinde, veri tiplerinin bellekte kapladığı alan sizeof operatörü ile öğrenilebilir. İlgi cekici olan, bu alanların derleyiciye ve işletim sistemine bağlı olarak değişiklik göstermesidir. Program 2.1’de, sizeof operatörü kullanılarak, veri tiplerinin bellek uzunlularının nasıl ekrana yazdırılacağı gösterilmiştir. Programın çıktısı, farklı derleyiciler ve işletim sisteminde denendiğinde bu durum daha iyi anlaşılır. Lütfen inceleyin.

Program 2.1: Değişken tipleri ve türevlerinin bellekte kapladıkları alanlar

 

ÇIKTI

Windows (32 bit) Turbo C Windows (32 bit) Salford Linux (32 bit) GCC Linux (64 bit) GCC

ÇIKTI

int veritipi ve türevleri ile hesaplanabilecek en küçük ve en büyük tamsayılar için aşağıdaki formül kullanılabilir:

Alt sınır = -28*sizeof(tip)
Üst sınır = 28*sizeof(tip)-1

Örneğin 4 baytlık bir int tipi için:

Alt sınır = -28*sizeof(int) = -232 = -2147483648
Üst sınır = 28*sizeof(int)-1 = 232-1 = 2147483647

Tablo 2.1’de bütün tipler, bellekte kapladıkları alanlar ve hesaplanabilcek (bellekte doğru olarak saklanabilecek) en büyük ve en küçük sayılar listelenmiştir.

Tablo 2.1: Değişken tipleri ve bellekte kapladıkları alanlar

 

Veri Tipi Açıklama Bellekte işgal ettiği boyut (bayt) Alt sınır Üst sınır
char Tek bir karakter veya
küçük tamsayı için
1 -128 127
unsigned char 0 255
short int Kısa tamsayı için 2 -32,768 32,767
unsigned short int 0 65,535
int Tamsayı için 4 -2,147,483,648 2,147,483,647
unsigned int 0 4,294,967,295
long int Uzun tamsayı için 8  -9,223,372,036,854,775,808 9,223,372,036,854,775,807
unsigned long int 0  18,446,744,073,709,551,615
float Tek duyarlı gerçel sayı için (7 basamak) 4 -3.4e +/- 38 +3.4e +/- 38
double Çift duyarlı gerçel sayı için (15 basamak) 8 -1.7e +/- 308 +1.7e +/- 308

 

Bir cevap yazın

This site uses Akismet to reduce spam. Learn how your comment data is processed.