enum {...}定义了一个具体的枚举类型,后面加变量名就是定义了这个类型的枚举变量。结构体、联合体都是一样的。
struct Object { // ... } object;
和
struct Object { // ... }; Object object;
是一样的,不过在C语言里表示结构体类型需要加上struct
,比如像struct Object object;
是定义,所以经常会这样简化代码,或者写出
typedef struct object { // ... } Object;
这种代码,结构体名称首字母小写,但是别名是大写,也就是struct object
和Object
是等价的,而在C++中就不需要特地加上struct
修饰类型。