Kategoriler
C/C++

C++’da Veri Türleri

Veri türlerinin temel amacı işletim sisteminin bellekte uygun miktarda yer ayırmasını sağlamaktır.

C++ da geliştirme yaparken kullanabileceğiniz 7 temel veri türü vardır.

Tanım KelimesiAçıklamaBoyut
boolİkili (Boolean)1 byte
charKarakter1 byte
intTam Sayı4 byte
floatOndalık Sayı4 byte
doubleÇift duyarlıklı ondalık sayı8 byte
voidDeğersiz1 byte
wchar_tGeniş Karakter4 byte

Bunların dışında string türünü kullanmak çoğu ide sorun çıkarmasa da olası sorunların önüne geçmek için string kütüphanesinin dahil edilmesi tavsiye edilir.

#include <iostream>
#include <string>
using namespace std;
int main()
{
    string metin = "Hello World";
    cout << metin << endl;
    return 0;
}

Uzunluk Bildirciler

Tanım KelimesiVeri TürüBellekDeğer Aralığı
shortint16 bitsigned: -32768+32767
unsigned: 065535
longint, float, double32 bitsigned: -2147483648+2147483647
unsigned: 04294967295

İşaret Bildiriciler

Tanım KelimesiAçıklama
signedİşaretli, Pozitif ve Negatif Değer
unsignedİşaretsiz, Pozitif Değer

C++ için Veri Türleri Tablosu

Veri TürüBit GenişliğiAlt SınırÜst SınırFormat
Tanımlayıcı
char8-128127%c
unsigned char80255%c
signed char8-128127%c
int16 veya 32-32768
veya
-2147483648
32767
veya
2147483647
%d
unsigned int16 veya 32065535
veya
4294967295
%u
short int16-3276832767%hd
unsigned short int16065535%hu
long int32-21474836482147483647%ld
long long int (C99)64-92233720368547758089223372036854775807%lld
unsigned long int3204294967295%lu
unsigned long long int (C99)64018446774073709551615%llu
float321.17549e-0383.40282e+038%f
double342.22507e-3081.79769e+308%lf
long double963.3621e-49321.18973e+4932%Lf
bool8
wchar_t16
void0

Not: Bu veri türleri için işletim sistemleri farklı boyutlarda bellek kullanımı yapabilir. Kendi sisteminizde görmek için aşağıdaki C++ kodunu yürütebilirsiniz.

#include <iostream>
#include <cfloat>
#include <climits>

using namespace std;

int main(void)
{
    cout << "char -> byte: " <<  sizeof(char) << " bit: " << sizeof(char)*8 << " min: " << CHAR_MIN << " max: " << CHAR_MAX << "\n";
    cout << "unsigned char -> byte: " <<  sizeof(unsigned char) << " bit: " << sizeof(unsigned char)*8 << " min: " << 0 << " max: " << UCHAR_MAX << "\n";
    cout << "signed char -> byte: " <<  sizeof(signed char) << " bit: " << sizeof(signed char)*8 << " min: " << SCHAR_MIN << " max: " << SCHAR_MAX << "\n\n";

    cout << "int -> byte: " <<  sizeof(int) << " bit: " << sizeof(int)*8 << " min: " << INT_MIN << " max: " << INT_MAX << "\n";
    cout << "unsigned int -> byte: " <<  sizeof(unsigned int) << " bit: " << sizeof(unsigned int)*8 << " min: " << 0 << " max: " << UINT_MAX << "\n";
    cout << "short int -> byte: " <<  sizeof(short int) << " bit: " << sizeof(short int)*8 << " min: " << SHRT_MIN << " max: " << SHRT_MAX << "\n";
    cout << "unsigned short int -> byte: " <<  sizeof(unsigned short int) << " bit: " << sizeof(unsigned short int)*8 << " min: " << 0 << " max: " << USHRT_MAX << "\n\n";

    cout << "long int -> byte: " <<  sizeof(long int) << " bit: " << sizeof(long int)*8 << " min: " << LONG_MIN << " max: " << LONG_MAX << "\n";
    cout << "long long int -> byte: " <<  sizeof(long long int) << " bit: " << sizeof(long long int)*8 << " min: " << LLONG_MIN << " max: " << LLONG_MAX << "\n";
    cout << "unsigned long int -> byte: " <<  sizeof(unsigned long int) << " bit: " << sizeof(unsigned long int)*8 << " min: " << 0 << " max: " << ULONG_MAX << "\n";
    cout << "unsigned long long int -> byte: " <<  sizeof(unsigned long long int) << " bit: " << sizeof(unsigned long long int)*8 << " min: " << 0 << " max: " << ULLONG_MAX << "\n\n";

    cout << "float -> byte: " <<  sizeof(float) << " bit: " << sizeof(float)*8 << " min: " << FLT_MIN << " max: " << FLT_MAX << "\n";
    cout << "double -> byte: " <<  sizeof(double) << " bit: " << sizeof(double)*8 << " min: " << DBL_MIN << " max: " << DBL_MAX << "\n";
    cout << "long double -> byte: " <<  sizeof(long double) << " bit: " << sizeof(long double)*8 << " min: " << LDBL_MIN << " max: " << LDBL_MAX;

    return 0;
}

Yeni Bir Veri Türü Bildirme (typedef)

Bu veri tipleri için kendi özel veri türlerini oluşturmanız da mümkündür. Bu işlem için typedef kullanılır.

typedef int tamsayi;

Kullanım örneği;

#include <iostream>
using namespace std;
int main()
{
    typedef int tamsayi;
    tamsayi x = 15;
    cout << x << endl;
    return 0;
}

Yazar Muhammet ŞAFAK

1992 İstanbul doğumluyum. 2008 yılından beri profesyonel olarak PHP geliştiriyorum. Her ne kadar ağırlıklı olarak PHP üzerinde çalışsam da C, C++, Python, Java programlama dillerini de kullanıyorum.

Bir Cevap Yazın