Menü Kapat

C++’daki Veri Tipleri

Herhangi bir dilde programlama yaparken, çeşitli bilgileri depolamak için çeşitli değişkenleri kullanma ihtiyacı duyarız. Değişkenler veri depolamak için ayrılmış hafıza alanlarıdır. Yani bir değişken oluşturduğumuzda bellekte belirli bir yer ayırmış oluruz.

Ayrılan verinin tipine göre işletim sistemi bellekte bir yer tahsis eder ve bu alanda neyin saklanabileceğine karar verir.

Numerik Veri Tipleri

C++ numerik değerleri saklamak için yapısal veri tipleri sağlar. Aşağıdaki tablo ne kadar boyutta saklandıklarını ve alabilecekleri değerleri görmek açısından önemlidir.

Type Name

Bytes

Alias

Range

int

4

signed

–2,147,483,648 to 2,147,483,647

unsigned int

4

unsigned

0 to 4,294,967,295

__int8

1

char

-128 to 127

unsigned __int8

1

unsigned char

0 to 255

__int16

2

short, short int, signed short int

–32,768 to 32,767

unsigned __int16

2

unsigned short, unsigned short int

0 to 65,535

__int32

4

signed, signed int, int

–2,147,483,648 to 2,147,483,647

unsigned __int32

4

unsigned, unsigned int

0 to 4,294,967,295

__int64

8

long long, signed long long

–9,223,372,036,854,775,808 to 9,223,372,036,854,775,807

unsigned __int64

8

unsigned long long

0 to 18,446,744,073,709,551,615

short

2

short int, signed short int

-32,768 to 32,767

unsigned short

2

unsigned short int

0 to 65,535

long

4

long int, signed long int

–2,147,483,648 to 2,147,483,647

unsigned long

4

unsigned long int

0 to 4,294,967,295

long long

8

none

–9,223,372,036,854,775,808 to 9,223,372,036,854,775,807

unsigned long long

8

none

0 to 18,446,744,073,709,551,615

float

4

none

3.4E +/- 38 (7 digits)

double

8

none

1.7E +/- 308 (15 digits)

long double

8

none

1.7E +/- 308 (15 digits)

Karakter Veri

Karakter veri harf ve semboller gibi numerik olmayan verileri göstermek için kullanılır.

Type Name

Bytes

Alias

Range

char

1

none

–128 to 127 by default 0 to 255 when compiled by using /J

signed char

1

none

-128 to 127

unsigned char

1

none

0 to 255

wchar_t, char16_t, and char32_t

2 or 4

__wchar_t

0 to 65,535 (wchar_t & char16_t), 0 to 4,294,967,295 (char32_t)

Typedef Tanımlaması

Typedef tanımlaması veri türlerini temsil eden kelimeleri farklı şekilde tanımlamayı sağlar. Bu şekilde mevcut bir veri türü için yeni bir isim veya yeni bir veri türü oluşturulabilir. typedef ifadesinin genel yapısı aşağıdaki şekildedir:

typedef eskiIsim yeniIsim;

Yukarıdaki işlem sayesinde eskiIsim tipinde bir veri tanımlarken yeniIsim adını da kullanabilirsiniz. Örnek olarak:

using namespace std;

int main() {
    typedef int sayi;

    sayi x = 5;
    cout << "sayi tipindeki x degiskeninin degeri: " <<x << endl;

    return 0;
}

Bu örnekte typedef ile int veri tipi ismi yerine sayi isminin de kullanılmasına izin verilmiştir. Örneğin çıktısı şu şekilde olacaktır:

sayi tipindeki x degiskeninin degeri: 5

typedef ifadesi kullanılarak oluşturulan veri tipi ismini başka bir veri tipi ismine izin vermek için kullanmak herhangi bir hataya sebebiyet vermez, örnek vermek gerekirse:

using namespace std;

int main() {
    typedef int a;
    typedef a b;

    int sayi1;
    a sayi2;
    b sayi3;

    sayi1 = 3;
    sayi2 = 1;
    sayi3 = 24;

    cout << "sayi1: " << sayi1 << ", sayi2: " << sayi2 << ", sayi3: " << sayi3 << endl;
}

Bu örnekte typedef ile int veri tipine alternatif bir isim olarak ‘a’ ismi veriliyor sonra da ‘a’ tipine alternatif olarak ‘b’ ismi veriliyor yani bir nevi zincirleme yapılması mümkündür denilebilir. Örneğin çıktısı şu şekilde olacaktır.

sayi1: 3, sayi2: 1, sayi3: 24

Bir yorum yazınız. Yorumlarınız bizim için değerlidir.