Что означает `_t``size_t` в C?
Возможный дубликат:
Что представляет собой тип, за которым следует _t (underscore-t)?
Я знаю что size_t
является. Целочисленный тип зависит от платформы. Но я не могу понять, что t
стоять за. И есть много типизированных суффиксов с _t
, Что такое _t
средства?
2 ответа
"т" означает "тип" (или для некоторых людей, typedef
, которая используется для их создания). size_t
тип, используемый для указания размеров памяти. time_t
с другой стороны, это тип, используемый для указания промежутков времени. Как правило, они ссылаются на один и тот же базовый тип (64-разрядное или 32-разрядное целое число, в зависимости от платформы), но метка помогает сохранить их концептуально прямыми, чтобы компилятор мог определить детали реализации.
Например, time_t
Раньше было 32-разрядным целым числом, что означало, что часы перевернутся в 2038 году. Но на большинстве 64-разрядных архитектур они расширились. time_t
быть 64-битным целым числом, что означает, что 64-битные системы не будут иметь проблемы "год-2038". Поскольку код, который работает с метками времени Unix, использует имя типа time_t
скорее, чем int
чтобы ссылаться на эти значения, все будет "просто работать", когда вы просто перекомпилируете код для вашей новой архитектуры.
По моему опыту _t - это обычный суффикс для типов, объявленных с использованием typedef.
например
typedef int myInt_t;
так далее...