In the section N3797::3.9.1/2 [basic.fundamental] there is:
There are five standard signed integer types : “
signed char”, “shortint”, “int”, “long int”, and “long long int”. In this list, each type provides at least as much storage as those preceding it in the list.
The standard explicitly defines size of char, unsigned char, signed char is 1. And that the size of plain ints depends on INT_MIN and INT_MAX as far as I understand not-standartized. So is it possible for implementation to define INT_MIN and INT_MAX such that sizeof(int) = 1;?