南京好享购物: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?

c naming-conventions link|improve this question asked Feb 4 at 10:06Eonil
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.