Стандарт C99 (и более поздние стандарты) требует, чтобы определенные типы были доступны в заголовке <stdint.h>
. Для точной ширины, например, int8_t
, int16_t
и т. Д., Они являются необязательными и мотивируются в стандарте, почему это так.
Но для типов uintptr_t
и intptr_t
они также являются необязательными, но я не вижу причин, по которым они являются необязательными, а не обязательными.