" typedef"的含义是什么?指导

时间:2015-01-15 22:11:49

标签: c

有什么区别:

typedef struct
{

} hello;

struct hello
{

};

对不起,如果这是一个愚蠢的问题,但我无法理解有什么不同......

1 个答案:

答案 0 :(得分:3)

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

的新类型

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

不同之处在于第一个创建了一个新类型。第二个只声明一个结构。差别很小,但在C中,如果没有struct关键字,则无法重用结构:(在C ++中,范围规则不同。)

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

 typedef struct {
      int x, y;
 } hello;

 hello a, b, c;

这会创建三个变量hello

要使用结构,请写下:

 struct xyz {
      int  z;
 };

 struct xyz  d, e, f;
相关问题