2012-11-30 143 views
0

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

第一方式:

struct x {}; 

方式二:

struct _x {} x; 

回答

2

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

虽然它可能不是你想到的,但以_x之类的下划线开头的名称在文件范围内保留,所以除非它位于某个其他范围内,否则第二个包含未定义的行为。

2

第二种方式声明名为类型的变量struct _x这种类型的变量名为x。第一个只声明类型struct x

的第二种方式是本质上相同

struct _x{}; // define a type 
struct _x x; // allocate a variable of type struct _x