关于结构,是否有任何理由不使用typedef
?
像:
typedef struct{
int member1;
unsigned long member2;
char *member3;
} myType;
而不是:
struct myType{
int member1;
unsigned long member2;
char *member3;
};
答案 0 :(得分:1)
Typedef可能会使调试变得困难,因为myType的实例将显示为anonymous type
,除非调试器足够聪明以加入点。为了安全起见,我更喜欢这两种方式:
typedef struct tag_myType {
⋮
} myType;
但是,如果我不得不放弃其中一个,那么,出于同样的原因,我会在任何地方写struct myType
。
答案 1 :(得分:1)
使用typedef关键字,您可以编写
myType x;
如果没有,你必须输入:
struct myType x;
因此,您键入较少,如果您编写大型程序,则这是必要的。
秒,一些人争辩说,如果你使用typedef,你可以隐藏代码用户的实现。例如,您使用size_t
类型而不必知道它是如何定义的。