结构体:

struct  NUM
{
  int number;
}a;

结构体是声明只是一个模型,没有分配内存空间。当进行定义结构体变量后才分配内存空间

 联合体:

union  data
{
  int a;
}b;

大体和结构体一样,不同之处在于,它将几个不同的变量存放在同一单元,在联合体中,各个成员变量所占内存的字节数各不相同,但都从同一个首地址开始。不管在任何时刻,只有一个变量处于活动状态。联合体所占的内存长度等于各个成员的长度之和。

enum color
{
  white,black
}c;

默认状态下,每个枚举常量都对应一个整数,并从0开始,但也可指定;

typedef  已有类型名 新类型名
typedef float real;
real f1;