南京好享购物:What's the meaning of `_t` of `size_t` in C?
来源:百度文库 编辑:中财网 时间:2024/04/27 13:55:32
What's the meaning of `_t` of `size_t` in C? [closed]
up vote 5 down vote favorite 2 share [fb] share [tw]Possible Duplicate:
What does a type followed by _t (underscore-t) represent?
I know what the size_t
is. It's an integer type depends on platform. But I cannot figure out what the t
stand for. And there are many typed which suffixes with _t
. What's the _t
means?
5,6801762
78% accept rate feedback
closed as exact duplicate by ?smail 'cartman' D?nmez, Sachin Shanbhag, asveikau, Nick Dandoulakis, Let_Me_Be Feb 4 at 10:17
This question covers exactly the same ground as earlier questions on this topic; its answers may be merged with another identical question. See the FAQ.
2 Answers
activeoldestvotes up vote 2 down voteaccepted"t" means "type" (or to some people, typedef
, which is the command used to create them). size_t
is the type used to specify memory sizes. time_t
on the other hand, is the type used to specify time spans. They generally happen to refer to the same underlying type (a 64-bit or 32-bit integer, depending on the platform), but the label helps keep them straight conceptually so that the implementation details can be hammered out by the compiler.
For example, time_t
used to be a 32-bit integer, meaning that the clock would roll over in 2038. But on most 64-bit architectures, they've expanded time_t
to be a 64-bit integer, which means that 64-bit systems won't have a "year-2038" problem. Since code that deals with unix timestamps uses the type name time_t
rather than int
to refer to these values, everything will "just work" when you simply recompile the code for your new architecture.