关于结构,有什么不使用的理由typedef
吗?
喜欢:
typedef struct{
int member1;
unsigned long member2;
char *member3;
} myType;
代替:
struct myType{
int member1;
unsigned long member2;
char *member3;
};
Typedef 会使调试变得困难,因为 myType 的实例将显示为anonymous type
除非调试器足够聪明,可以连接点。为了安全起见,我更喜欢两者都做:
typedef struct tag_myType {
⋮
} myType;
然而,如果我不得不放弃其中一个,我会忍受struct myType
到处写作,出于同样的原因。
使用 typedef 关键字,您可以编写
myType x;
如果没有,你必须输入:
struct myType x;
因此,您键入的内容更少,如果您编写大型程序,这是必要的。
秒,有人争辩说,如果你使用 typedef,你可以对代码的用户隐藏实现。作为示例,您使用size_t
类型而不必知道它是如何定义的。