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;
)
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á.
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
void - typ void nevrací žádnou hodnotu
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)
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
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é 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é konstanty se píší do uvozovek , např. „Ahoj“ (význam Ahoj).