可能重复:
What does a type followed by _t (underscore-t) represent?
我知道size_t
是什么。它是一个整数类型取决于平台。但我无法弄清t
代表什么。并且有许多带有_t
的带有后缀的类型。什么是_t
的意思?
答案 0 :(得分:9)
根据我的经验,_t是使用 typedef 声明的类型的传统后缀。
e.g。
typedef int myInt_t;
等...
答案 1 :(得分:9)
“t”表示“类型”(或某些人,typedef
,这是用于创建它们的命令)。 size_t
是用于指定内存大小的类型。另一方面,time_t
是用于指定时间跨度的类型。它们通常碰巧引用相同的底层类型(64位或32位整数,具体取决于平台),但标签有助于在概念上保持它们的直接性,以便编译器能够完成实现细节。
例如,time_t
曾经是一个32位整数,这意味着时钟将在2038年翻身。但在大多数64位架构中,他们已将time_t
扩展为64位整数,这意味着64位系统不会出现“年2038”问题。由于处理unix时间戳的代码使用类型名称time_t
而不是int
来引用这些值,因此当您只是为新架构重新编译代码时,一切都将“正常工作”。