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