# C++ Veri Tipleri

C++ Yorumlar (Data Types) konusunu işliyoruz.

Program yazarken, çeşitli bilgileri saklamak için bir dizi değişkenler kullanırız. Değişkenler, değerleri bellekte saklamak için ayrılmış bellek bölümleridir. Bu nedenle, bir değişken oluşturduğunuzda hafızada yer ayırmış oluruz.

Karakterler, metinler, tamsayı, ondalıklı sayılar, boolean(true/false) gibi çeşitli veri türlerine ait bilgilerini saklamak isteyebilirsiniz. Değişkenin veri türüne bağlı olarak, işletim sistemi hafızayı ilgili boyutta ayırır.

1. Temel Veri Türleri

C++ programcıya, kullanıcı tanımlı veri türlerinin yanı sıra, zengin bir çeşitlilik sunar. Aşağıdaki tabloda yedi temel C++ veri türü aşağıdaki işaretleri alarak bellekte çeşitli boyutlarda alan tahsis edilmesini sağlar.

  • signed

  • unsigned

  • short

  • long

Tip

Bellek Boyutu

Değer Aralığı

char

1 byte

-127 – 127 yada 0 – 255

unsigned char

1 byte

0 – 255

signed char

1 byte

-127 – 127

int

4 byte

-2147483648 – 2147483647

unsigned int

4 byte

0 – 4294967295

signed int

4 byte

-2147483648 – 2147483647

short int

2 byte

-32768 – 32767

unsigned short int

Range

0 – 65,535

signed short int

Range

-32768 – 32767

long int

4 byte

-2,147,483,648 – 2,147,483,647

signed long int

4 byte

long int gibi

unsigned long int

4 byte

0 – 4,294,967,295

float

4 byte

+/- 3.4e +/- 38 (~7 digits)

double

8 byte

+/- 1.7e +/- 308 (~15 digits)

long double

8 byte

+/- 1.7e +/- 308 (~15 digits)

wchar_t

2 yada 4 byte

1 geniş karakter

Aşağıdaki örnekte sizeof() metodu ile veri tiplerinin bellekte ne kadar alan kapladığını görebilirsiniz. Mevcut örnekte yeni bir satıra geçmek için endl ve birden fazla veri eklemek için de << sembolü kullanılmıştır.

#include <iostream>
using namespace std;
 
int main() {
    cout <<"Veri Boyutlari" << endl;
    cout << "char : " << sizeof(char) << endl;
    cout << "int : " << sizeof(int) << endl;
    cout << "short int : " << sizeof(short int) << endl;
    cout << "long int : " << sizeof(long int) << endl;
    cout << "float : " << sizeof(float) << endl;
    cout << "double : " << sizeof(double) << endl;
    cout << "wchar_t : " << sizeof(wchar_t) << endl;
    
    system("PAUSE");
    return 0;
}

system("PAUSE") komutu ile programınızın çalıştıktan sonra hemen kapanmasını engellersiniz. Aksi halde .exe dosyasını çalıştırır çalıştırmaz program kapanacaktır.

2. C++ typedef Kullanımı

typedef() kullanarak mevcut bir tip için yeni bir isim oluşturabilirsiniz. Aşağıdaki yazım kullanarak yeni bir tür tanımlamak için basit söz dizimi bulunmaktadır.

typedef tip yeniad;

Örnek: int veri türünü artık elma yazarak kullanmak istiyorsak aşağıdaki gibi yeni bir adlandırma oluşturmalıyız.

typedef int elma;
elma yas=25;

3. C++ Enum Tipler (Enum Kullanımı)

Enum bir tür, isteğe bağlı bir tür adı ve türün değerleri olarak kullanılabilecek bir sıfır veya daha fazla tanımlayıcı kümesidir. Her bir sayıcı, türü numaralandırma olan bir sabittir. Her bir enum değeri bir sayı değerine karşılık gelir.

Bir enumerate oluşturmak için enum anahtar sözcüğünün kullanımını gerektirir. Söz dizimi aşağıdaki gibidir.

enum enumadi { degerler } liste-degiskeni;

Örnek: Her bir gün değeri bir sayı değerine karşılık gelmektedir.0 pazartesi olmak üzere 4 değeri cumaya gelir. ikinci satırda da gun değeri carsamba olarak enum’a aktarılmıştır. İsteğe bağlı olarak da enuma istenilen değer verilebilir (cumartesi=8 gibi).

#include <iostream>

using namespace std;
 
int main() {

    enum gunler{pazartesi,sali,carsamba,persembe,cuma,cumartesi,pazar} gun;
    gun = carsamba;

    cout << "Haftanin " << gun << ". gunundesiniz." << endl;
    
    system("PAUSE");
    return 0;
}

Bu örnekte önemli olan enum içerisinde değişkenlere değer atamadığımız için ön tanımlı olarak 0 dan başladı. Bu sebeple ekrana carsamba gününü 2 olarak yazdı. Biz bunu şu şekilde düzeltebiliriz.

#include <iostream>

using namespace std;
 
int main() {

    enum gunler{pazartesi=1,sali=2,carsamba=3,persembe=4,cuma=5,cumartesi=6,pazar=7} gun;
    gun = carsamba;

    cout << "Haftanin " << gun << ". gunundesiniz." << endl;
    
    system("PAUSE");
    return 0;
}

İleride yazacağınız büyük programlarda koşul durumlarınız için kontrol değişkenlerini enum ile oluşturarak daha rahat bir programlama yapabilirsiniz. Örneğin if(x==1) gibi bir ifade kullanarak bu 1 in neye karşılık geldiğini hatırlamak yerine, if(x==dogru) ifadesini kullanarak daha okunaklı program yazmış olursunuz.

Enum kullanırken bilinmesi gerekenler:

  • Enum içerisinde değer vermezsek, değerler 0’dan başlar ve birer birer artar.

  • Enum’ların varsayılan değer “int”dir.

  • Enumları; byte,sbyte, short,ushort, int, uint,long, ulong türlerin oluşturabiliriz.

  • Enum içerisine verdiğimiz değerlerde, değişken isimlendirmede dikkat edilen kurallar geçerlidir. Örneğin sayı ile başlayan veya içerisinde boşluk bulunan isimlendirmeler veremeyiz.

Last updated