有什么区别:
typedef struct
{
} hello;
和
struct hello
{
};
对不起,如果这是一个愚蠢的问题,但我无法理解有什么不同......
答案 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;