请看我的例子:问题在评论中概述。
struct jeff { //jeff is the tag name correct?
int age;
int weight;
};
typedef struct { // Is it correct to say that this structure has no "tag" name?
int age;
int weight;
}jeff; // This is an alias for an anonymous structure correct? Not its tag name.
typedef struct jeff { // Is it correct to say that this struct has a tag name jeff
int age; // and an alias Jeffery?
int weight;
} Jeffery;
这些问题实际上只是关于C语言的正确语义。
最后一个问题:
struct {
int age;
int weight;
}jeff; // Why would one want a struct with no name/alias. I don't see the benefit.
最佳答案
杰夫标签名对吗?
对的。
说这个结构没有“标记”名称是正确的吗?
确切地。
这是匿名结构的别名,对吗?不是它的标签名。
虽然它被称为typedef,但这里没有结构标记,只有一个typename。
说这个结构有一个标记名jeff和一个别名Jeffery是正确的吗?
如果你愿意的话。
为什么要一个没有名字/别名的结构?
好吧,也许只是为了好玩可能它是一个临时变量,在代码的其他地方根本没有使用,所以为它定义一个结构类型是多余的。(无论如何,我不喜欢这种风格……)
关于c - 有关结构的C词汇,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15058045/