分享

What's the meaning of `_t` of `size_t` in C?

 WUCANADA 2011-11-21

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?

link|improve this question

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

up vote 2 down vote accepted

"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.

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多