C中`size_t`的`_t`的含义是什么?

时间:2011-02-04 10:06:42

标签: c naming-conventions

  

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

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

2 个答案:

答案 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来引用这些值,因此当您只是为新架构重新编译代码时,一切都将“正常工作”。