我在 youtube 上看过不同人的视频,现在我有点困惑
前两个 [(1) (2)] 是相同类型但没有 typedef 然后两个 [(3) (4)]和typedef是同类型,只是写法不同
如果下面的任何结构是错误的,请指出错误的原因。我正在为所有这些格式分配编号
(1)
struct tag{
int number;
char *name;
float num;
};
main()
{
struct tag name;
name firstmember;
------code-------
return 0;
}
我看到的下一个类型与上面的相同但是:
(2)
struct tag{
int number;
char *name;
float num;
}name;
main()
{
name firstmember;
------code-------
return 0;
}
接下来是使用带有 typedef 的结构:
(3)
typedef struct tag{
int number;
char *name;
float num;
}name;
main()
{
name firstmember;
------code-------
return 0;
}
与另一个相同版本的 typedef:
(4)
struct tag{
int number;
char *name;
float num;
};
main()
{
typedef struct tag name;
name firstmember;
------code-------
return 0;
}
请指出以上示例是否有任何错误
最后这个疑点和上面的例子完全不一样
如果我们不在单词 struct 后面放置一个结构标签,那么就这样做
(5)
struct {
int number;
char *name;
float num;
}tag;
main(){}
这个词“标签”是否仍然是结构标签,或者如果它在“}”之后那么它现在是一个结构名称?它是什么?如果它成为名称,我们为什么还要使用结构标签?
请仔细阅读我所有的疑惑并以良好的书面形式回答此问题
最佳答案
查看这些包含热门答案的紧密话题:
关于c - 不同的格式来表示结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24856424/