Definíciu
a inicializáciu premenných základných dátových typov je možné zlúčiť do
jedného kroku. Neinicializované premenné majú nedefinovanú hodnotu, niektoré
kompilátory nastavujú hodnoty neinicializovaných premenných na nulu, na
toto sa ale pri Vašich programoch nespoliehajte.
// definicia premennych bez inicializacie
char protein;
int pocet;
float teplota;
double tlak;
// definicia premennych s inicializaciu
char znak = '>', pismeno = 'A';
int dole = 35, hore = 75;
float konstanta = 1.2345;
double maxHodnota = 3.48e+6;
Sémantiku
základných dátových typov je možné meniť pomocou špecifikátorov. V C++
existujú 4 špecifikátory: long, short,
signed a unsigned.
Špecifikátory long a short
zväčšujú alebo zmenšujú rozash hodnôt dátového typu int.
Pre čísla s plávajúcou desatinnou čiarkou je povolená len kombinácia long
double. Špecifikátory signed a unsigned
určujú, či pri dátových typoch int a char
je potrebné uvažovať zo znamienkom. Bez použitia špecifikátora sú celočíselné
dátové typy deklarované ako signed. Veľkosť
premenných rôznych typov zistíte použitím operátora sizeof():
#include <iostream.hpp> void main() { char c; unsigned char cu; int I; unsigned int iu; short int is; short iis; // zodpoveda short int unsigned short int isu; unsigned short iisu; // zodpoveda unsigned short int long int il; long iil; // zodpoveda long int unsigned long int ilu; unsigned long iilu; // zodpoveda unsigned long int float f; double d; long double ld; cout<<"sizeof(char) = " << sizeof(c) << endl; cout<<"sizeof(unsigned char) = " << sizeof(cu) << endl; cout<<"sizeof(int) = " << sizeof(i) << endl; cout<<"sizeof(unsigned int) = " << sizeof(iu) << endl; cout<<"sizeof(short) = " << sizeof(is) << endl; cout<<"sizeof(unsigned short) = " << sizeof(isu) << endl; cout<<"sizeof(long) = " << sizeof(il) << endl; cout<<"sizeof(unsigned long) = " << sizeof(ilu) << endl; cout<<"sizeof(float) = " << sizeof(f) << endl; cout<<"sizeof(double) = " << sizeof(d) << endl; cout<<"sizeof(long double) = " << sizeof(ld) << endl; }Vzťah medzi veľkosťami premenných základných typov sa dá jednoducho znázorniť nasledujúco:
sizeof(char)<= sizeof(short)<= sizeof(int)<= sizeof(long)<= sizeof(float)<= sizeof(double)
Základné
dátové typy je možné vo výrazoch a priradeniach ľubovolne kombinovať. Ak
je to možné, kompilátor sa snaží konvertovať dátové typy tak, aby nedošlo
k strate informácie. Sú ale prípady, keď informácia bude stratená alebo
zmenená.
int i1 = 256+255; char ch = i1; // ch == 255 int i2 = ch; // i2 == ?Pri implicitných konverziách kompilátor negeneruje chybové hlásenia. Skúste nasledujúci príklad:
unsigned prekvapenie = -1; cout << prekvapenie << endl;