Uživatelské nástroje

Nástroje pro tento web


datove_typy

Datové typy v programování

Datový typ definuje doménu hodnot, kterých může proměnná nabývat, a množinu operací, které lze s těmito hodnotami provádět. Správná volba datového typu je klíčová pro efektivní správu paměti a stabilitu programu.

1. Základní (primitivní) datové typy

Tyto typy jsou vestavěné přímo v jazyce a odpovídají základnímu způsobu, jakým binární soustava ukládá data.

Celá čísla (Integers)

Slouží k ukládání čísel bez desetinné čárky. Rozlišují se podle rozsahu (počtu bitů):

  • int / integer: Standardní celé číslo (obvykle 32 nebo 64 bitů).
  • short / long: Menší nebo větší rozsah paměti.
  • Signed vs. Unsigned: Signed typy mohou být záporné, Unsigned pouze nezáporné (nabízejí však dvojnásobný kladný rozsah).

Desetinná čísla (Floating point)

Slouží k ukládání čísel s plovoucí desetinnou čárkou (reálná čísla).

  • float: Základní přesnost.
  • double: Dvojitá přesnost (využívá více paměti, ale omezuje zaokrouhlovací chyby).

Logické hodnoty (Booleans)

Přímo vycházejí z digitální logiky.

  • Nabývají pouze dvou hodnot: true (1) nebo false (0).

Znaky (Characters)

Ukládají jeden symbol (písmeno, číslice, interpunkce).

  • char: Tradičně 1 bajt (ASCII), v moderních jazycích často 2-4 bajty (Unicode/UTF-8).

2. Textové a složené typy

Řetězce (Strings)

Sekvence znaků tvořící slova nebo věty. V mnoha jazycích je string považován za objekt nebo pole znaků.

Pole (Arrays)

Kolekce prvků stejného datového typu uložených v paměti za sebou. Přístup k prvkům probíhá pomocí indexu (obvykle od 0).


3. Typová kontrola (Type System)

Jazyky se liší v tom, jak přísně vyžadují definici datových typů:

Typ systému Popis Příklady
Statické typování Typ proměnné se určuje při psaní kódu a nelze jej měnit. C++, Java, Rust
Dynamické typování Typ se určuje až za běhu programu podle obsahu. Python, JavaScript
Silné typování Jazyk nedovolí operaci mezi nekompatibilními typy (např. sčítat číslo a text). Python, Java
Slabé typování Jazyk se snaží typy automaticky převést, což může vést k chybám. JavaScript, PHP

4. Typové konverze (Casting)

Někdy je nutné změnit datový typ za běhu:

  • Implicitní konverze: Prohlížeč/kompilátor ji udělá sám (např. přičtení celého čísla k desetinnému).
  • Explicitní konverze: Programátor vynutí změnu (např. převod textu „123“ na číslo 123).

5. Moderní koncepty: Ukazatele a Reference

V nízkoúrovňových jazycích (C, C++) existují speciální typy:

  • Pointer (Ukazatel): Proměnná, která neobsahuje hodnotu, ale adresu v paměti, kde je hodnota uložena.
  • Null / None: Speciální hodnota značící, že proměnná na nic neodkazuje (častý zdroj chyb typu NullPointerException).

Související články:

Tagy: programming dev software-engineering data-types coding

datove_typy.txt · Poslední úprava: autor: admin