Какое значение `_t`` size_t` в C?

Возможный дубликат:
Что означает тип, за которым следует _t (underscore-t)?

Я знаю, что такое size_t. Это целочисленный тип зависит от платформы. Но я не могу понять, что означает t. И есть много типизированных суффиксов с _t. Что означает _t?

Ответ 1

"t" означает "тип" (или некоторым людям, typedef, который является командой, используемой для их создания). size_t - тип, используемый для указания размеров памяти. time_t, с другой стороны, это тип, используемый для указания временных интервалов. Как правило, они относятся к одному и тому же базовому типу (64-битное или 32-битное целое, в зависимости от платформы), но ярлык помогает держать их в прямой форме, так что детали реализации могут быть выбиты компилятором.

Например, time_t используется как 32-битное целое число, что означает, что часы перевернутся в 2038 году. Но на большинстве 64-разрядных архитектур они расширили time_t до 64-битного целого числа, что означает, что 64-битные системы не будут иметь проблему "год-2038". Поскольку код, относящийся к временным меткам unix, использует имя типа time_t, а не int, чтобы ссылаться на эти значения, все будет "просто работать", когда вы просто перекомпилируете код для своей новой архитектуры.

Ответ 2

По моему опыту, _t является условным суффиксом для типов, объявленных с помощью typedef.

например.

typedef int myInt_t;

и т.д...