【问题标题】:What's the meaning of `_t` of `size_t` in C? [duplicate]C中`size_t`的`_t`是什么意思? [复制]
【发布时间】:2011-06-21 06:29:11
【问题描述】:

可能重复:
What does a type followed by _t (underscore-t) represent?

我知道size_t 是什么。它是一个整数类型,取决于平台。但我无法弄清楚t 代表什么。并且有许多类型以_t 为后缀。 _t 是什么意思?

【问题讨论】:

    标签: c naming-conventions


    【解决方案1】:

    根据我的经验,_t 是使用 typedef 声明的类型的常规后缀。

    例如

    typedef int myInt_t;
    

    等等……

    【讨论】:

      【解决方案2】:

      “t”表示“类型”(或者对某些人来说,typedef,这是用于创建它们的命令)。 size_t 是用于指定内存大小的类型。另一方面,time_t 是用于指定时间跨度的 type。它们通常碰巧引用相同的底层类型(64 位或 32 位整数,具体取决于平台),但标签有助于在概念上保持它们的直接性,以便编译器可以敲定实现细节。

      例如,time_t 曾经是 32 位整数,这意味着时钟将在 2038 年翻转。但在大多数 64 位架构上,它们已将 time_t 扩展为 64 位整数,这意味着 64 位系统不会出现“2038 年”问题。由于处理 unix 时间戳的代码使用类型名称 time_t 而不是 int 来引用这些值,所以当您为新架构重新编译代码时,一切都会“正常工作”。

      【讨论】:

        猜你喜欢
        • 2019-07-06
        • 2019-12-24
        • 2019-09-12
        • 2018-06-24
        • 2011-03-29
        • 1970-01-01
        • 1970-01-01
        • 2019-12-08
        相关资源
        最近更新 更多