Annó ANSI C-t tanítottak nekünk. Ott "az architektúra számára legkellemesebb" volt még a definíció.
Emlékeim szerint a C99 szigorított ezen. Ekkortól van a short-ra a 16 bit és ugye short <= int.
Ha netán a 8 bites architektúrával van dolgod, az int itt is 16 bites lett a C99 beszivárgása óta. Ellenben ha például avr-gcc fordítóval fordítasz 8 bites AVR-re és az int-re 8 bitest szeretnél, akkor "avr-gcc -mint8".
Egyébként a C99 szabványtól az architektúrafüggő int mellé bejött olyan is, hogy
#include <stdint.h>
int8_t a; // 8, 16, 32, 64
int_least8_t b;
int_fast8_t c;
intptr_t d; // lásd még: size_t
és unsigned megfelelői.