__PTRDIFF_TYPE __

时间:2016-06-19 22:44:26

标签: c

我认为使用变量__PTRDIFF_TYPE__并且不包含标头是合法的。

我试图在ISO/IEC 9899中查找此变量名称,但它没有出现。我希望在第7部分C库中看到它的定义。

为什么合法?

我在Linux / GNU下使用gcc。

1 个答案:

答案 0 :(得分:2)

这是gcc中的预定义宏(GNU C扩展);见https://gcc.gnu.org/onlinedocs/cpp/Common-Predefined-Macros.html

至于为什么这是合法的:标准保留所有以两个下划线开头的名称(并且所有名称以下划线开头后跟一个大写字母)供实现使用,因此gcc可以预定义__whatever并仍然遵循标准。