Tyyppeihin voidaan liittää seuraavia tarkentimia:
short lyhyt
long pitkä
signed etumerkillinen
unsigned etumerkitön
Kaikkia näitä voidaan käyttää tyypin int tarkentimina:
short int (lyhyemmin short)
long int (lyhyemmin long)
signed int (lyhyemmin int)
unsigned int (lyhyemmin unsigned)
Lisäksi on olemassa seuraavat kaksoistarkennukset (int -määrettä ei tarvitse kirjoittaa näkyviin)
unsigned long (int)
signed long (int)
unsigned short (int)
signed short (int)
char-tyypin yhteydessä voidaan ilmoittaa myös etumerkin käyttö (char
on 8-bittinen kokonaisluku):
signed char
unsigned char
Useissa toteutuksissa on myös
long double
(esim. Borlandin Turbo C++:ssa tilanvaraus on 10 tavua ja arvoalue ±3.4E-4932..1.1E+4932)
Yleensä kaikkia kolmea kokonaislukujen pituusluokkaa ei ole toteutettu erillisinä, mutta
pituus(short) >= 16 bittiä
pituus(int) >= 16 bittiä
pituus(long) >=32 bittiä
lisäksi pätee, että
pituus(short) <= pituus(int) <= pituus(long)
Voi olla esim., että short =16 b, int =16 b ja long =32 b.
Liukuluvuille pätee seuraava
pituus(float) <= pituus(double) <= pituus(long double)