C语言共用体union和枚举类型enum

结构体变量所占内存长度是各成员占的内存长度的总和。每个成员分别占有其自己的内存单元。

共用体变量所占的内存长度等于最长的成员长度。

 

注意点:

     1.共用体变量中起作用的成员时最后一次存放的成员,在存入一个新成员后原有的成员就失去作用。

     2.不能把共用体变量作为函数参数,也不能使函数带回共用体变量,但可以使用变量的指针。

 

枚举类型:enum weekday{sun,mon,tue,wnd,thu,fri,sat};

注意点:

     1.在C编译中,对枚举元素按照常量处理,故称枚举常量。它们不是变量,不能对它们赋值。

     2.枚举元素作为常量,它们是有值的,C语言编译按定义时的顺序使它们的值为0,1,2,。。。。

        也可以改变枚举元素的值,在定义时由程序员指定,如:

        enum weekday{sun = 7,mon = 1,tue ,wed,thu,fri,sat}workday,week_end;

        定义sun = 7,mon = 1,以后顺序加1,sat为6.

     3.一个整数不能直接赋给一个枚举变量。

        应先进行强制类型转换才能赋值。如:workday = (enum weekday)2;

       

你可能感兴趣的:(C/C++,语言,c,sun)