====== Datové typy ====== Datový typ určuje u proměnné nebo konstanty rozsah hodnot, velikost alokované paměti a množinu přípustných operací. Deklarovat proměnou lze například takto: ''int i=8;'' nebo ''char ch='t';'' (tedy ''typ identifikátor;'') ===== Dělení datových typů ===== ==== Celočíselné typy ==== * char (8b) - znak, např. 'q' * short int (16b) - krátké celé číslo, např. −327 (v programu lze zkrátit na short) * int (16b nebo 32b dle typu CPU) - celé číslo, např. 6859 * long int (32b) - dlouhé celé číslo, např. −86544 (v programu lze zkrátit na long) Všechny tyto celočíselné typy mohou být specifikovány jako signed nebo unsigned. Signed je ale implicitní pro všechny typy proměnné, a proto se většinou vynechává. ==== Reálné typy ==== * float (32b) - racionální číslo v pohyblivé řádové čárce s jednoduchou přesností, např. 5.0 * double (64b) - racionální číslo v pohyblivé řádové čárce s dvojnásobnou přesností, např. −1.5L * long double (80) - racionální číslo v pohyblivé řádové čárce se zvýšenou přesností, např. 0.333333333333333333L ==== Výčtový typ ==== Zvláštní hodnotový typ s předem určenou sadou číselných hodnot. V základním nastavením je typu integer, ale může být i typu long, byte atd. enum (8b/16b/32b) - výčtový typ ==== Bez hodnoty ==== void - typ void nevrací žádnou hodnotu ==== Ukazatel ==== Proměnné, které uchovávají adresu ukazující do paměti počítače. Při jejich deklaraci je třeba uvést, na jaký datový typ bude ukazatel ukazovat. Jeho deklarace: ''typ * jmeno;'' (např. void *u) ===== Konstanty ===== ==== Celočíselné ==== V jazyku C jsou celočíselné konstanty vnitřně reprezentovány implicitně typem int, uvedením znaku "L" (resp. "l") za konstantu lze tento typ změnit na long int. Uvedením znaku "U" (resp. "u") za konstantu lze změnit vnitřní reprezentaci na unsigned. Celočíselné konstatny lze zapsat ve třech soustavách: osmičková soustava - zápis začíná "0" na začátku konstanty, např. 072 desítková soustava - číslo nezačínající "0", např. 25 šestnáctková soustava - zápis začíná dvojicí znaků "0x" nebo "0X" na začátku konstanty, např. 0X24 ==== Reálné ==== V jazyku C jsou reálné konstanty vnitřně reprezentovány implicitně typem double, uvedením znaku "L" (resp. "l") za konstantu lze tento typ změnit na long double a uvedením znaku "F" (resp. "f") za konstantu na typ float. Reálné konstanty je možné psát také v semilogaritmickém tvaru, kde mantisa a exponent jsou odděleny znakem "E" (resp. "e"). standardní zápis - desetinná čísla, např. 89.5 semilogaritmický zápis - desetinná čísla v semilogaritmickém tvaru, kde mantisa (číslo v rozmezí od 1 (včetně) do 10 (vyjma)) a exponent jsou odděleny znakem "E" (resp. "e"), např. 3.5e−5 ==== Znakové ==== Znakové konstanty jsou jeden znak obklopený apostrofy, např. 'B'. Pro zapsání speciálních znakových konstant se používají se tzv. escape sekvence, které začínají lomítkem, např. '\\' - zpětné lomítko. ==== Řetězcové ==== Řetězcové konstanty se píší do uvozovek , např. "Ahoj" (význam Ahoj). ===== Konkrétní komentované příklady ===== FIXME