C POSIX typedef的标准替代品

C POSIX typedef的标准替代品,c,posix,typedef,C,Posix,Typedef,在我读到POSIX保留了以\t结尾的typedefs之前,我经常使用它。对于这个后缀,什么是一个常用的标准选择?“标准”是一个大词。如果你提到ISO C,那么定义它就超出了它的职责范围;事实上,它确实使用了诸如time\u t或size\u t之类的名称,因为POSIX是次要的,所以它被允许这样做。此外,例如,此约定不适用于基于Windows的编程环境 我的意思是,实际上不需要声明一个类型就是一个类型。C的类型数量有限,因此确定它是内置类型还是ADT是基本的。此外,此类内置类型具有小写的单字名称

在我读到POSIX保留了以
\t
结尾的typedefs之前,我经常使用它。对于这个后缀,什么是一个常用的标准选择?

“标准”是一个大词。如果你提到ISO C,那么定义它就超出了它的职责范围;事实上,它确实使用了诸如
time\u t
size\u t
之类的名称,因为POSIX是次要的,所以它被允许这样做。此外,例如,此约定不适用于基于Windows的编程环境

我的意思是,实际上不需要声明一个类型就是一个类型。C的类型数量有限,因此确定它是内置类型还是ADT是基本的。此外,此类内置类型具有小写的单字名称:如果看到
stat\u buffer
,您会立即知道它可能不是内置类型

无论您做出什么选择,在源代码中保持一致都是很重要的。无论如何,我经常看到的选择可能是:

  • 大写术语,如
    Time
    Pid
  • \u类型
    后缀,如
    time\u类型
    pid\u类型
  • 不可见的后缀,如
    time
    pid

我想这取决于你,只要你把它作为代码中的一个标准。如果我是你,我就不会使用后缀,其他人没有明确的对错。唯一更正确的是保持一致。
\u type
。无论如何,这真的取决于你,因此是基于意见的。重要的是一致性。正如其他人所说,一致性是关键。此外,保留是一项违反多于遵守的公约。就像所有以strstrstr开头的标识符都由C标准库保留一样(因此,不应该使用streetAddressstreetAddress这样的变量名)。坦率地说,我认为
\t
后缀没有什么价值。在您希望看到其中一种内置类型(即。∫int、float、float、char`etc),因此只能是typedef或可能的宏,但我们都使用大写字母,不是吗?