关于如何以及为什么在C中使用typedef包含在SO上的众多问题中,但是似乎没有人描述应该使用哪个用例,或者每个用例的pro / cons。
有关该主题的大多数问题都围绕此问题
struct Bar {
int value;
};
struct Foo {
int value;
};
typedef struct Foo Foo;
struct Bar mybar; // Have to add keyword struct for it to work
Foo myfoo; // Works without struct keyword
我的问题是最好的做法是什么,或者如果由于上下文而没有一个或多个,那么这两者之间的利弊是什么?>
// 1 typedef struct { int value; } Foo;
// 2 typedef struct Foo { int value; } Foo;
// 3 typedef struct Foo_s { int value; } Foo_t;
// 4 typedef struct Foo { int value; } Foo_t;
应该避免其中任何一种,为什么?如果这些都不是很好,那么相同的确切点对枚举有效吗?我觉得整个主题有点含糊,我至少没有发现关于此问题的任何明确信息,所以我只是仔细检查一下,以便以后没有任何东西再次咬住我。
如果有其他变体,我可以添加它们。
关于如何以及为什么在C中使用typedef包含在SO上的许多问题中,但是似乎没有人描述应该使用哪个用例,或者每个用例的pro / cons。关于...
为了快速阅读和滥用不同名称,我想推荐这种形式: