Напишите sizeof(int) , и на современной машине вы почти наверняка получите 4. Логично: int – это 32 бита. Только вот в стандарте C этого нигде не написано. Более того, существовали машины, где int занимал 16 бит, и такие, где 36. Многие считают это главным проколом создателей языка. Но стоит…
[Перевод] Почему в C int – не означает 32 бита, а байт – не всегда 8 бит
Это краткое изложение. Полный текст материала доступен на сайте источника.