C中的结构名称标准

C中的结构名称标准,c,coding-style,C,Coding Style,C语言中数据结构的命名标准是什么 例如,以下代码段是从中选取的: 为什么在命名结构时使用了\u*\ u,而不是typedef?\u t代表什么?等等 一个指向正确指南的链接将是完美的 我一直在谷歌上搜索编码风格指南,但是我找不到任何与之相关的东西。 使用下划线(“”“)分隔名称组件 \u t通常用于typedef,用最后一个“\u t”来区分typedef名称,用于ex-Thing\u list\t 有关更多详细信息,请参考EECS 381的C编码标准。 使用下划线(“”“)分隔名称组件 \u

C语言中数据结构的命名标准是什么

例如,以下代码段是从中选取的:

为什么在命名结构时使用了
\u*\ u
,而不是typedef?
\u t
代表什么?等等

一个指向正确指南的链接将是完美的

我一直在谷歌上搜索编码风格指南,但是我找不到任何与之相关的东西。

  • 使用下划线(“”“)分隔名称组件
  • \u t通常用于typedef,用最后一个“\u t”来区分typedef名称,用于ex-Thing\u list\t
有关更多详细信息,请参考EECS 381的C编码标准。

  • 使用下划线(“”“)分隔名称组件
  • \u t通常用于typedef,用最后一个“\u t”来区分typedef名称,用于ex-Thing\u list\t

有关更多详细信息,请参考EECS 381的C编码标准。

C
中没有唯一/明确/最终/最终的编码标准。每个项目/公司都有自己的编码标准。对于eg,它有自己的编码标准指南。阅读本标准中的
第5章:Typedefs
,其中讨论了在
structs
中何时应该/不应该使用
Typedefs
C
中没有唯一/明确/最终/最终的编码标准。每个项目/公司都有自己的编码标准。对于eg,它有自己的编码标准指南。阅读本标准中的
第5章:Typedefs
,其中讨论了在
结构中何时应该/不应该使用
Typedefs

您应该永远不要复制C实现或第三方库的命名约定。他们使用自己的命名约定来不干扰(名称冲突)您的代码

ISO C99,7.1.3中明确禁止使用以下划线开头的标记名:

-始终保留以下划线开头的所有标识符 在普通和标记中用作文件范围的标识符 名称空间


就我个人而言,我认为对结构使用typedef是完全愚蠢的,因为它所做的只是避免您在一些地方编写
struct
关键字——这些信息不应该隐藏在typedef后面。当我看到结构的typedef名称以
*.\s
结尾时,我总是感到害怕,因为它只是表示typename是结构的别名。

你应该永远不要复制你的C实现或第三方库的命名约定。他们使用自己的命名约定来不干扰(名称冲突)您的代码

ISO C99,7.1.3中明确禁止使用以下划线开头的标记名:

-始终保留以下划线开头的所有标识符 在普通和标记中用作文件范围的标识符 名称空间


就我个人而言,我认为对结构使用typedef是完全愚蠢的,因为它所做的只是避免您在一些地方编写
struct
关键字——这些信息不应该隐藏在typedef后面。当我看到结构的typedef名称以
*\u s
结尾,仅仅表示typename是结构的别名时,我总是感到害怕。

\u t
通常似乎代表“type”,但没有这样的标准命名约定。但是,你可能想引用C++编码标准。{a代表地址正确?这个链接包含关于C++编码标准的好信息:注意,如果写POSIX代码(Linux的F.E.),那么<代码> < t >代码>后缀保留,不应该在应用代码中使用(它仍然在实践中被普遍使用)。.
\u t
通常似乎代表“类型”,但没有这样的标准命名约定。但是,你可能想引用C++编码标准。{a代表地址正确?这个链接包含关于C++编码标准的好信息:注意,如果写POSIX代码(Linux的F.E.),那么<代码> < t >代码>后缀保留,不应该在应用代码中使用(它仍然在实践中被普遍使用)。.我不知道那是被禁止的。当我看到像
struct foo\u struct
(Linux内核)这样的东西时,我会退缩。这不仅仅是因为懒得键入struct关键字,还因为能够轻松地导航CTAGED代码库,可能还有更好的可读性(IMO)。当我看到像
struct foo\u struct
(Linux内核)这样的东西时,我会退缩。这不仅仅是因为懒得键入struct关键字,还因为能够轻松地导航CTAGED代码库,可能还有更好的可读性(IMO)。不要忘记
大小\u t
。这很难看(大小写和下划线混合)。不要忘记
尺寸
typedef struct _hash_table_t_ {
    int size;       /* the size of the table */
    list_t **table; /* the table elements */
} hash_table_t;