C語言共用體union和列舉型別enum
阿新 • • 發佈:2019-02-06
結構體變數所佔記憶體長度是各成員佔的記憶體長度的總和。每個成員分別佔有其自己的記憶體單元。
共用體變數所佔的記憶體長度等於最長的成員長度。
注意點:
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;