结构体是一种构造类型,它的每一个成员都可以是一个基本的数据类型或者又是一个构造类型(结构体的嵌套使用),它的所有成员都能共存,这也是它和共用体和枚举类型的最大区别。它的简单定义如下。

 struct{
    char  i  ;
    int   j  ;
    struct add ;
 }

         每一个定义的变量,它们的是可以改变的,但它们的数据类型是不能改变的,共用体就是一种可以在同一存储区域变成不同数据类型的一种数据类型。它采用的是覆盖存储技术,准许不同的数据类型相互覆盖。它的简单定义如下。

union{
    char  i  ;
    int   j  ;
    struct add ;
}

        枚举类型仅仅适用取值于有限的数据,它里面的标识符是常量不是变量,不能改变他的值,枚举元素只能是标识符,不能是基本类型常量,它的简单定义如下。

 enum{
    sun;
    mon;
    ...;
 }