stdlib size_t library functions c std

size_t - ¿Hay tipos como uint32, int32, uint64, int64 definidos en cualquier encabezado stdlib?



size_t c (4)

El interlocutor realmente preguntó acerca de int16 (etc.) en lugar de (feo) int16_t (etc.).

No hay encabezados estándar, ni ninguno en la carpeta / usr / include / de Linux que los define sin el "_t".

A menudo veo el código fuente usando tipos como uint32, uint64 y me pregunto si deberían ser definidos por el programador en el código de la aplicación o si están definidos en un encabezado lib estándar.

¿Cuál es la mejor manera de tener estos tipos en el código fuente de mi aplicación?


Esos tipos enteros están todos definidos en stdint.h


Si usa C99 solo incluya stdint.h . Por cierto, los tipos de 64 bits están ahí si el procesador los admite.


El C99 stdint.h define estos:

  • int8_t
  • int16_t
  • int32_t
  • uint8_t
  • uint16_t
  • uint32_t

Y, si la arquitectura los admite:

  • int64_t
  • uint64_t

También hay varios otros tipos de stdint.h enteros en stdint.h .

Si está atascado sin un entorno C99, probablemente debería proporcionar sus propios typedefs y utilizar los C99 de todos modos.

El uint32 y el uint64 (es decir, sin el sufijo _t ) probablemente sean específicos de la aplicación.