The C standard for different ints is absolutely cursed, even after C99 tried to normalize it. The only requirement is that sizeof(char) <= sizeof(short) <= sizeof(int) <= sizeof(long) <= sizeof(longlong) and sizeof(char) == 1. Mind you they don’t define what size a byte is so you technically can have an architecture where all of those are 64 bits. Oh and for that same reason exact-size types (int32_t, uint16_t etc) are not guaranteed to be defined
The C standard for different ints is absolutely cursed, even after C99 tried to normalize it. The only requirement is that
sizeof(char) <= sizeof(short) <= sizeof(int) <= sizeof(long) <= sizeof(long long)andsizeof(char) == 1. Mind you they don’t define what size a byte is so you technically can have an architecture where all of those are 64 bits. Oh and for that same reason exact-size types (int32_t,uint16_tetc) are not guaranteed to be definedFuck