¿Hay alguna razón para no usar tipos de enteros de ancho fijo (por ejemplo, uint8_t)?

Suponiendo que esté utilizando un compilador que admita C99 (o incluso solo stdint.h), ¿hay alguna razón para no usar tipos de enteros de ancho fijo como uint8_t?

Una razón de la que soy consciente es que tiene mucho más sentido usarchars cuando se trata de personajes en lugar de usar(u)int8_ts, como se menciona enesta pregunta.

Pero si planea almacenar un número, ¿cuándo querría usar un tipo que no sabe qué tan grande es? Es decir. ¿En qué situación le gustaría almacenar un número en unaunsigned short sin saber si son 8, 16 o incluso 32 bits, en lugar de utilizar unuint16t?

A raíz de esto, se considera una mejor práctica usar enteros de ancho fijo, o usar los tipos enteros normales y simplemente nunca asumir nada y usarsizeof ¿Dónde necesitas saber cuántos bytes están usando?

Respuestas a la pregunta(5)

Su respuesta a la pregunta