C语言中的`size_t`中的`_t`是什么意思?

21

可能是重复问题:
什么是以 _t (下划线-t) 结尾的类型?

我知道 size_t 是什么。它是一个依赖于平台的整数类型。但我无法理解 t 代表什么。而且还有很多类型都以 _t 结尾。这个 _t 是什么意思?

2个回答

17
"t"代表"type"(或者对于某些人来说,是用于创建它们的typedef命令)。而size_t是用于指定内存大小的类型。另一方面,time_t是用于指定时间跨度的类型。它们通常指向相同的基础类型(一个64位或32位的整数,取决于平台),但标签有助于在概念上保持它们的清晰,以便编译器可以解决实现细节。
例如,time_t曾经是一个32位整数,这意味着时钟将在2038年翻转。但在大多数64位体系结构中,他们已经扩展了time_t成为一个64位整数,这意味着64位系统不会有“2038年”问题。由于处理Unix时间戳的代码使用类型名称time_t而不是int来引用这些值,因此当您仅为新架构重新编译代码时,一切都将“正常工作”。

11
根据我的经验,"_t"是使用typedef声明类型时的常用后缀。
例如:
typedef int myInt_t;

etc...


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接