Суффикс _t
означает «тип»; это не правило, что вы должны его использовать, это просто соглашение, за которым следует множество стандартных типов из стандартных библиотек. Они обычно определяются в заголовочных файлах, которые их используют, или иногда в заголовочных файлах, включаемых этими заголовками.
size_t
определяется в <stddef.h>
, а time_t
определяется в <time.h>
. key_t
не является стандартным типом C, поэтому он, вероятно, определен в заголовке библиотеки для любой библиотеки, в которой он используется.
Если вы хотите точно знать , из какого заголовочного файла получено определение, вы можете запустить препроцессор:
gcc -E file.c -o file.i
Выход препроцессора file.i
покажет вам все вложенные включаемые файлы. Затем вы можете найти его по определению, а затем прокрутить вверх, пока не найдете комментарий, указывающий, из какого заголовочного файла он получен.