Anti-Santa banner
Pozor! Veškerý obsah se přesouvá na www.klusik.cz

Programování v jazyce C

Začátky s programováním

Datové typy


Proměnnou rozumíme místo v paměti, kam se ukládá jedinečná hodnota. Například:

int a,b;

a=10;
b=a+5;
Zde jsou proměnnými a a b. To, že jsou to proměnné naznačíme překladači pomocí první řádky - int a,b;. Zde vyrobíme identifikátor, který je vlastně zástupným symbolem pro ono místo v paměti. V další řádce - a=10 - jsme do paměti na místo a uložili hodnotu 10. Dálepak do místa b uložíme hodnotu a+5. Program tedy přečte hodnotu z paměti a a přičte k ní 5. To uloží do proměnné b. Tak takhle nějak fungují proměnné. V nadpisu se objevilo slovo konstanty. Konstanty můžeme použít podobně, jako proměnné, např. b=PI*2*polomer;, kde PI je konstanta pi. Takže b bude obsahovat hodnotu obvodu kruznice o poloměru poloměr. Avšak je chybou napsat např. PI=3.1415. To nelze, protoze pokud je něco konstanta, nelze to v programu měnit. Stručně tedy ještě jednou k definicím:

Proměnná je místo v paměti, kam program ukládá hodnotu. Lze ji použít jako l-hodnotu (ve výrazu přiřazení). Identifikátor je zástupný symbol pro toto místo v paměti.

Konstanta je hodnota, která se do paměti uloží během překladu. Překladač všechny zástupné symboly konstant nahradí jejich hodnotami a program přeloží. Proto nelze použít konstatu v jako l-hodnotu. To je stejné, jako bychom psali 10=2+5;. Do čísla 10 prostě sedmičku neuložíme :-)

Samozřejmě v dalších kapitolách se k tomu vrátíme, cílem této kapitoly je pouze popsat datové typy proměnných. Takže nejdříve co je to datový typ a proč jej definovat. Dalo by se říci, že vycházet můžeme z definice proměnné. Místo v paměti, které musíme programu vyhradit je závislé na tom, kolik ho vlastně potřebujeme. Pokud potřebujeme do proměnné ukládat čísla např. od 1 do 10, není potřeba vyhradit 4kB paměti :-) Datový typ nám rovněž říká, jaký typ dat na místě v paměti můžeme očekávat.

Tyto základní datové typy se v C využívají. Upravená verze ANSI-C povoluje používání celočíselné proměnné long long, avšak jsem z praxe zjistil, že je prakticky špatně použitelná, je totiž jen unsigned.