Como señaló Douglas Mayle, básicamente denota un nombre de tipo. En consecuencia, sería desaconsejable que finalice los nombres de variables o funciones con '_t
', ya que podría causar cierta confusión. Además de size_t
, el estándar C89 define wchar_t
, off_t
, ptrdiff_t
, y probablemente algunos otros que he olvidado. El estándar C99 define una gran cantidad de tipos adicionales, como uintptr_t
, intmax_t
, int8_t
, uint_least16_t
, uint_fast32_t
, y así sucesivamente. Estos nuevos tipos se definen formalmente en <stdint.h>
pero la mayoría de las veces usará <inttypes.h>
que (inusualmente para encabezados C estándar) incluye <stdint.h>
. (<inttypes.h>
) también define macros para usar con printf()
y scanf()
.
Como señaló Matt Curtis, no hay importancia para el compilador en el sufijo; es una convención orientada a los humanos
Sin embargo, también debe tener en cuenta que POSIX define una gran cantidad de nombres de tipos adicionales que terminan en '_t
', y reserva el sufijo para la implementación. Eso significa que si está trabajando en sistemas relacionados con POSIX, no es aconsejable definir sus propios nombres de tipo con la convención. El sistema en el que trabajo lo ha hecho (por más de 20 años); regularmente tropezamos con sistemas que definen tipos con el mismo nombre que definimos.
¿Dónde se define 'int_t'? Si siempre se define como 'int', no es útil; es mucho más claro usar 'int' directamente. Si no siempre se define como 'int' (por ejemplo, si podría ser' long int' o 'short int'), entonces es un nombre mal elegido y confuso. –