typedef的命名方案
我正在开发一个广泛使用类似结构的库
typedef struct foo_bar_s { ... } foo_bar_t;
使用_t后缀是个坏主意,因为它是POSIX保留的命名空间。 结构的_s后缀也很无用。 所以我想我可以改变一切
typedef struct foo_bar { ... } foo_bar;
或者如果不需要结构名称
typedef struct { ... } foo_bar;
但是,我无法再将typedef与常规符号(变量等)区分开来。 这真的是一个大问题,我应该为typedef使用不同的合适命名方案吗? 或者这不重要吗?
我真的不太确定。 你怎么看? 另外,您对typedef命名方案有什么建议?
虽然“_t”是保留的,但您不太可能遇到问题。 但是,这个约定是旧版本C的残余,其中为了命名结构需要这种语法,所以现在你可以简单地写下面的内容(省略typedef和typedef名称):
struct name_of_struct { type1 member1; type2 member2; // ... typeN memberN; };
是的,您可以在C的当前标准中使用单行注释(“// …”)。
我使用Dave Hanson的C接口和实现中使用的命名约定:类型以模块名称和大写Seq_T
T命名。例如,序列的类型是Seq_T
,并且散列表的类型是Table_T
。 在模块的实现中,Hanson使用#define
仅缩写为T
这基本上是适用于C编程的Modula-3约定,但我发现在短暂的初始冲击后它运行良好。