我在c程序中多次遇到过这些“X_t”类型,它们的真正含义是什么?这些定义的位置在哪里?
答案 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必须遵循相同的模式是一小步。