关于C#:struct中“typedef”的含义是什么


What's the meaning of “typedef” in struct

本问题已经有最佳答案,请猛点这里访问。

有什么区别:

1
2
3
4
typedef struct
{

} hello;

还有:

1
2
3
4
struct hello
{

};

对不起,如果这是一个愚蠢的问题,但我不明白有什么区别…


typedef是一个关键字,意思是"类型定义"。它不是结构的一部分。在第一个例子中,它使hello成为一种新的类型,即struct { ... }

第一个创建类型;第二个声明名为hello的结构。

区别在于,第一个类型创建了一个新类型。第二个只声明结构。差别是细微的,但是在EDCOX1的4个方面,如果没有EDCOX1×5个关键字,就不能重用结构(在C++中,作用域规则是不同的)。

要使用该类型,请编写如下内容:

1
2
3
4
5
 typedef struct {
      int x, y;
 } hello;

 hello a, b, c;

这将创建三个类型为hello的变量。

要使用该结构,请编写以下内容:

1
2
3
4
5
 struct xyz {
      int  z;
 };

 struct xyz  d, e, f;