请看我的例子:问题在评论中概述。

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/

10-11 21:25