<分区>
Possible Duplicate:
Difference between 'struct' and 'typedef struct' in C++?
谁能解释一下 Struct 的以下定义之间的区别
typedef struct
{
}GOOD;
&
struct GOOD
{
};
&
typedef struct tagGOOD
{
}GOOD;
我的老师用了最后一个例子,但我真的不知道他为什么在结构名称(如果是名称)上使用“标签”,有人能说清楚吗?
<分区>
Possible Duplicate:
Difference between 'struct' and 'typedef struct' in C++?
谁能解释一下 Struct 的以下定义之间的区别
typedef struct
{
}GOOD;
&
struct GOOD
{
};
&
typedef struct tagGOOD
{
}GOOD;
我的老师用了最后一个例子,但我真的不知道他为什么在结构名称(如果是名称)上使用“标签”,有人能说清楚吗?
最佳答案
在 C 和 C++ 中,任何用名称声明的 struct
都可以称为 struct GOOD
。您还可以声明没有名称的匿名结构,如第一个示例中所做的那样。
任何类型都可以被 typedef
赋予它一个备用名称。在第一个示例中,您只是将名称GOOD
(没有struct
)赋予匿名结构。在第二个示例中,您的结构只能作为 struct GOOD
访问。在第三种情况下,您可以通过 GOOD
或 struct GOOD
访问它。
所有三个选项都是合法的,使用哪一个是风格问题。
关于c++ - struct的结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12398538/