size_t,key_t,time_t等

时间:2009-07-18 16:19:28

标签: c linux

我在c程序中多次遇到过这些“X_t”类型,它们的真正含义是什么?这些定义的位置在哪里?

2 个答案:

答案 0 :(得分:16)

_t后缀表示“类型”;它不是必须使用它的规则,它只是一个约定,后面是标准库中的许多标准类型。它们通常在使用它们的头文件中定义,或者有时在这些头文件中包含的头文件中定义。

size_t<stddef.h>中定义,time_t<time.h>中定义。 key_t不是标准的C类型,因此它可能在库头中为其所使用的库定义。

如果您想知道完全定义来自哪个头文件,您可以运行预处理器:

gcc -E file.c -o file.i

预处理器输出file.i将显示所有嵌套的包含文件。然后,您可以在其中搜索定义,然后向上滚动,直到找到指示它来自哪个头文件的注释。

答案 1 :(得分:0)

我刚刚使用“c size_t”进行了Google搜索,该搜索提供了this第一个链接。 time_t信息也在该网站上。获得该信息后,知道key_t必须遵循相同的模式是一小步。