Foreground plně podporuje – RWD, HTML 5.0, Super Galerii a YouTube 2.0 !
Datový typ
Z Multimediaexpo.cz
Datový typ definuje v programování druh proměnných (a konstant). Je určen oborem hodnot a zároveň výpočetními operacemi, které lze s daty provádět (srovnej abstraktní datový typ). Datový typ nemůže být určen pouze oborem hodnot, protože existují i datové typy, které se liší pouze v operacích nad těmito typy. Téměř každý programovací jazyk má některé datové typy předdefinované. Pomocí nich může programátor tvořit typy nové (abstraktní datové typy).
Obsah |
Prázdný datový typ
- void – nenabývá žádných hodnot (deklarace funkce, která nemá návratovou hodnotu) nebo označuje data nespecifikovaného typu (ukazatel typu void v jazyce C)
Jednoduché datové typy
Nemají vnitřní strukturu. Složitější typy jsou ve skutečnosti složeny z těchto základních.
- logická hodnota (
boolean) – true nebo false (také 1 nebo 0) - celé číslo (
integer) – např. 256, 1, 0, -65535, 0xA9 (tzv. hexadecimální zápis), … - znak (
char) – např. 'a', 'A', 'g', ' ', '5', '%', …
Tyto typy jsou ordinální – hodnoty tohoto typu tvoří lineárně uspořádanou množinu, kde pro každý prvek je přesně definovaný předchůdce i následovník (z posledního prvku dojde k tzv. přetečení na první).
- reálné číslo, číslo s plovoucí řádovou čárkou (
float,real) – 3.14, 0.5 (podle anglosaské konvence zapsané s desetinnou tečkou)
Strukturovaný datový typ
Datový typ obsahuje jeden nebo více prvků. Říkáme, že je homogenní, jsou-li prvky stejného typu.
- pole (
array) – [21, -5, 11], může být vícerozměrné (např. dvourozměrné označujeme jako matici), - textový řetězec (
string) – „Ahoj“, " ", „loopback 127.0.0.1“, - výčtový typ (
enum) – programátorem definovaný typ, např. pro barvu karet:
enum barva {
piky,
srdce,
kary,
krize
};
Jednotlivé prvky strukturovaného typu jsou dostupné pod číslem, které určuje jejich pořadí (tzv. index), obvykle počítáno od 0. Pro výše uvedené příklady: pole[1] = -5, retezec[0] = 'A' (resp. ' ' a 'l'), obdobně pro výčtový typ.
Heterogenní datový typ
Datový typ je složen z prvků různých datových typů (opak homogenního) a navenek se chová jako kompaktní celek. Např. v jazyku Pascal typ record nebo v jazyku C typ struct:
typedef struct {
int vek;
char *jmeno;
enum { muz, zena } pohlavi;
} Osoba;
- seznam (
list) – obdoba pole, ['a', 'b', 9, „cokoliv?“]
Zvláštní datové typy
- ukazatel (
pointer) – ukazuje na místo v paměti (např. na jinou proměnnou nebo na určitý prvek pole) - soubor (
file) – reprezentuje (ukazatel na) soubor (ať už uložený na pevném disku či virtuální) - komplexní číslo – např. v jazyku Python: (2+4j)
Generický datový typ
Datový typ, který je možné parametrizovat jiným typem. V jazyce Pascal to může být např. typ pole s parametrem a jaké prvky budou v poli uloženy (např. array of char). Mnohem větší možnosti, jak parametrizovat typy, poskytuje systém šablon v C++ nebo generické typy uvedené v jazycích Java 5, či C# 2.0.
Rozsah datového typu
V paměti počítače jsou všechna data reprezentována posloupností 1 a 0 (dvojková soustava). Počet míst (bitů) vyhrazených pro daný datový typ omezuje rozsah hodnot, kterých může nabýt. Existuje tak např. několik datových typů pro celé číslo (liší se podle jazyka, v tabulce jsou uvedeny obvyklé hodnoty):
| Datový typ | Velikost v paměti | Rozsah |
|---|---|---|
| Celočíselné typy | ||
| Boolean | 1 bit (ačkoliv obvykle uložen jako 1 bajt) | 0 až 1 |
| Byte | 8 bitů (= 1 bajt) | 0 až 255 |
| Word | 2 bajty | 0 až 65 535 |
| Double Word | 4 bajty | 0 až 4 294 967 295 |
| Integer | 4 bajty | –2 147 483 648 až 2 147 483 647 |
| Double Integer | 8 bajtů | –9 223 372 036 854 775 808 až 9 223 372 036 854 775 807 |
| Typy s plovoucí čárkou | ||
| Real | 4 bajty | 1E-37 až 1E+37 (6 desetinných míst) |
| Double Float | 8 bajtů | 1E-307 až 1E+308 (15 desetinných míst) |
Některé jazyky nevyžadují deklaraci délky proměnné a dynamicky (za běhu programu) přiřazují další paměť, je-li to potřeba. Programátor např. může spojovat řetězce nebo přidávat další prvky do pole bez omezení.
Typová signatura
Signatura jednoduchého datového typu Bool a operací (funkcí) na něm by se dala symbolicky zapsat: Druhy dat:
- Bool
Operace:
- true, false : Bool
- not : Bool → Bool
- and : Bool, Bool → Bool
- eq : Bool, Bool → Bool
Související články
| Náklady na energie a provoz naší encyklopedie prudce vzrostly. Potřebujeme vaši podporu... Kolik ?? To je na Vás. Náš FIO účet — 2500575897 / 2010 |
|---|
| Informace o článku.
Článek je převzat z Wikipedie, otevřené encyklopedie, do které přispívají dobrovolníci z celého světa. |
