C++ 'da değişken türleri

Endorfin35+

Kayıtsız Üye
Staff member
Katılım
1 Mayıs 2020
Mesajlar
2,651
Yeterli açıklama kod içerisinde mevcuttur.

C++:
/*
Veri türleri ve kapasiteleri :

Tür                     Kapasite           Değer Aralığı          

char                    1 Byte              -128 to 127
signed char             1 Byte              -128 to 127
unsigned char           1 Byte                 0 to 255
wchar_t                 2-4 Byte  
string                   Çok            string char türünden türetilmiştir

bool                    1 Byte(bit)     0 to 1 veya false/true

short int               2                -32,768 to 32,767
unsigned short int      2                      0 to 65,535
unsigned int            4                      0 to (2^32)-1
int                     4              -(2^32/2) to (2^32/2)-1
long int                4              -(2^32/2) to (2^32/2)-1
unsigned long int       4                      0 to (2^32)-1
long long int           8              -(2^64/2) to (2^64/2)-1
unsigned long long int  8                      0 to (2^64)-1

float                    4            kayar noktalı (ondalıklı) sayılar
double                    8            kayar noktalı (ondalıklı) sayılar
long double                32           kayar noktalı (ondalıklı) sayılar
*/

#include <iostream>
using namespace std;


char                    a = 'a';        // eş anlamlı ifadeler : __int8, int8_t, signed char
signed char             b = 'b';        // eş anlamlı ifadeler : int8_t, char
unsigned char           c = 'c';        // eş anlamlı ifadeler : uint8_t, __int8
wchar_t                 d = L'a';       // L ne işe yarıyor?
string                  e = "elma";     // string ifadeye atamayapılırken "" çift tırnak kullanılır

bool                    f = true;

short int               g = 32767;               // eş anlamlı ifadeler : int16_t, __int16, short, signed short, signed short int
unsigned short int      i = 65535;               // eş anlamlı ifadeler : uint16_t,__int16, unsigned short
unsigned int            k = 4294967295;          // eş anlamlı ifadeler : uint32_t, __int32, unsigned
int                     l = 2147483647;          // eş anlamlı ifadeler : int32_t, __int32, signed, signed int
long int                m = 2147483647;          // eş anlamlı ifadeler : long, signed long, signed long int
unsigned long int       n = 4294967295;          // eş anlamlı ifadeler : unsigned long
long long int           o = 9223372036854775807; // eş anlamlı ifadeler : int64_t,__int64, long long, signed long long, signed long long int
unsigned long long int  p = 18446744073709551615;// eş anlamlı ifadeler : uint64_t,__int64, unsigned long long

float                    r = 4564.54;
double                    s = 12.5 ;
long double                t = 12.9 ;

// int16_t, uint16_ gibi ifadeler standart ifadeler değildir. typedef komutu ile genellikle int türlerine atanırlar.
// örneğin int16_t linux ile doğrudan çalışırken __int16 ifadesi çalışma __ başlayan ifadeler microsoft a özgüdür.
// bu kısa ifadeler kullanılacak ise kodun başına typedef ile tanımlama yapmak yararlı olabilir.
// örn: typedef signed short int16_t;

int main()
{
    cout << "char türü kapasitesi                   : " << sizeof(a)    << " byte   " << a << endl;
    cout << "signed char türü kapasitesi            : " << sizeof(b)    << " byte   " << b << endl;
    cout << "unsigned char türü kapasitesi          : " << sizeof(c)    << " byte   " << c << endl;  
    cout << "wchar_t char türü kapasitesi           : " << sizeof(d)    << " byte   " << d << endl;
    cout << "string türü kapasitesi                 :"  << sizeof(e)    << " byte  "  << e << endl;

    cout << "bool türü kapasitesi                   : " << sizeof(f)    << " byte   " << f << endl;
    cout << "short int türü kapasitesi              : " << sizeof(g)    << " byte   " << g << endl;
    cout << "unsigned short int türü kapasitesi     : " << sizeof(i)    << " byte   " << i << endl;
    cout << "unsigned int türü kapasitesi           : " << sizeof(k)    << " byte   " << k << endl;
    cout << "int türü kapasitesi                    : " << sizeof(l)    << " byte   " << l << endl;
    cout << "long int türü kapasitesi               : " << sizeof(m)    << " byte   " << m << endl;
    cout << "unsigned long int türü kapasitesi      : " << sizeof(n)    << " byte   " << n << endl;
    cout << "long long int türü kapasitesi          : " << sizeof(o)    << " byte   " << o << endl;
    cout << "unsigned long long int türü kapasitesi : " << sizeof(p)    << " byte   " << p << endl;
   
    cout << "float türü kapasitesi                  : " << sizeof(r)    << " byte   " << r << endl;
    cout << "double türü kapasitesi                 : " << sizeof(s)    << " byte   " << s << endl;
    cout << "long double türü kapasitesi            :"  << sizeof(t)    << " byte   " << t << endl;

}


Program Çıktısı :

char türü kapasitesi : 1 byte a
signed char türü kapasitesi : 1 byte b
unsigned char türü kapasitesi : 1 byte c
wchar_t char türü kapasitesi : 2 byte 97
string türü kapasitesi :32 byte elma
bool türü kapasitesi : 1 byte 1
short int türü kapasitesi : 2 byte 32767
unsigned short int türü kapasitesi : 2 byte 65535
unsigned int türü kapasitesi : 4 byte 4294967295
int türü kapasitesi : 4 byte 2147483647
long int türü kapasitesi : 4 byte 2147483647
unsigned long int türü kapasitesi : 4 byte 4294967295
long long int türü kapasitesi : 8 byte 9223372036854775807
unsigned long long int türü kapasitesi : 8 byte 18446744073709551615
float türü kapasitesi : 4 byte 4564.54
double türü kapasitesi : 8 byte 12.5
long double türü kapasitesi :16 byte 12.9

__ ile başlayan türler için referans : https://docs.microsoft.com/tr-tr/cpp/cpp/data-type-ranges?view=msvc-160
 

Endorfin35+

Kayıtsız Üye
Staff member
Katılım
1 Mayıs 2020
Mesajlar
2,651
Ekleme :

Bir degisken tanimlanirken basina const ifadesi eklenir ise degisken degeri sonradan degistirilemez.

Orn:
Const int pi=3;

#define pisay 3

Define ile yapilan tanimlamada pisay bir degisken degildir. Derleme sirasinda derleyici pisay gordugu her yere 3 yazar...
 
Top