# 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.
Komutlar
Ekran Çıktısı
#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;
}
Veri Boyutlari
char : 1
int : 4
short int : 2
long int : 4
float : 4
double : 8
wchar_t : 2
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).
C++
Ekran Çıktısı
#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;
}
Haftanin 2. gunundesiniz.
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.
C++
Ekran Çıktısı
#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;
}
Haftanin 3. gunundesiniz.
İ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.