0

这两种声明结构的方式有什么区别?

第一种方式:

struct x {};

第二种方式:

struct _x {} x;
4

2 回答 2

2

第一个仅定义类型struct x。第二个定义了类型struct _x 定义了一个名为 的类型的变量x

虽然这可能不是您的想法,但以下划线开头的名称_x在文件范围内保留,因此除非它在其他范围内,否则第二个具有未定义的行为。

于 2012-11-30T18:49:09.367 回答
2

第二种方式声明了一个名为 type的变量struct _x 一个名为x. 第一个仅声明类型struct x

第二种方式基本相同

struct _x{};    // define a type
struct _x x;    // allocate a variable of type struct _x
于 2012-11-30T18:49:23.693 回答