Datový typ
|
Rozsah hodnot
|
int
|
(-2147483647 - 1) až 2147483647
|
unsigned int
|
0 až 65535
|
short int
|
-32768 až 32767
|
unsigned short int
|
0 až 65535
|
long int
|
(-2147483647L - 1) až 2147483647L
|
unsigned long int
|
0 až 4294967295
|
Pokud si nejste jisti maximálním rozsahem jednotlivých datových typů, můžete je najít v souboru limits.h případně ve specializaci šablony třídy numeric_limits.
Datový typ
|
Možné hodnoty
|
bool
|
true - false
|
Proměnným typu bool je možné přiřadit i číselnou hodnotu s následujícím významem:
Při přiřazení proměnné typu bool celočíselné proměnné (viz příklad), je logická proměnná převedena na číslo následujícím způsobem:
Datový typ
|
Rozsah hodnot
|
char
|
-128 až 127 nebo 0 až 255
|
signed char
|
-128 až 127
|
unsigned char
|
0 až 255
|
wchar_t
|
Pozor jazyk C++ rozlišuje mezi sebou hodnoty char / unsigned char / signed char. Tento rys využijeme v programech při rozlišování přetížených funkcí.
Datový typ slouží pro práci s tzv. "širokými znaky" - znaky, které nelze zakódovat v 8 bitech (týká se především asijských jazyků).
Datový typ
|
Rozsah hodnot
|
float
|
1.175494351e-38 až 3.402823466e+38
|
double
|
2.2250738585072014e-308 až 1.7976931348623158e+308
|
long double
|
1.189731495357231765e+4932 až 3.3621031431120935063e-4932
|
Pokud si nejste jisti maximálním rozsahem jednotlivých datových typů, můžete je najít v souboru float.h případně ve specializaci šablony třídy numeric_limits.
Používají se jako příznaky k vyjádření hodnot, které se vyskytují v malém množství. Jejich hodnoty jsou určeny pomocí celočíselných konstant.
enum [jmenovka] { položka1[=hodnota1],položka2[=hodnota2],... } [proměnná1, proměnná2,...];
jmenovka | |||
Nepovinná. Je-li uvedena jedná se o deklaraci výčtového typu, jehož jméno bude jmenovka. Není-li jmenovka uvedena, definujeme touto deklarací pouze skupinu pojmenovaných konstant. | |||
položka | |||
Povinná, identifikátor hodnoty výčtového typu, | |||
hodnota | |||
Nepovinná, hodnota, kterou představuje odpovídající položka. Hodnota musí být konstantní celočíselný výraz. Pokud ji u některé položky vynecháme, přidělí ji překladač o 1 větší než u předchozí hodnoty. Není-li uvedena hodnota u první položky je jí přidělena hodnota 0. Poznámka - různé položky mohou mít stejné hodnoty. |
|||
proměnná | |||
Nepovinné, definice proměnných, ukazatelů na ně atd. tohoto typu (vytvářeného typu enum). Lze je definovat i později. |
enum Dny // deklarace datového typu enum Dny { pondeli, // pondeli = 0 utery = 1, // utery = 1 streda, // streda = 2 (utery + 1) ctvrtek, // ctvrtek = 3 patek, // patek = 4 sobota, // sobota = 5 nedele = 5 // nedele = 5 } dnes; // definice proměnné dnes typu Dny int pondeli; // chyba ! redefinice enum Dny vcera; // možné použití v C a C++ Dny zitra; // možné použití pouze v C++ vcera = pondeli; int i = utery; // možné použití, i = 2 vcera = 0; // chyba, není možná konverze vcera = (Dny)0; // možné použití, ale výsledek nebude definován
Ve výpisu je nejprve deklarován výčtový datový typ Dny. Na konci deklarace je vytvořena instance (proměnná) typu Dny se jménem dnes. Dále jsou ukázány správné a špatné definice proměnných. Význam viz komentáře.