C 列舉型別和共用體型別

2021-08-21 08:54:32 字數 1065 閱讀 4142

我們主要學習的是:

1. 列舉型別;

2. 共用體型別;

a. 列舉型別的定義以及列舉型別的格式?

列舉型別提供了一組常量的集合。

c++中可以使用關鍵字enum定義列舉型別,下面是列舉型別的格式:

//enum 列舉型別名 

enum

date;

b. 定義列舉型別時,可以給常量提供乙個整數值。如果沒有提供整數值,預設第乙個常量值為0,第二個常量值為1,依次類推。切記: 列舉型別變數中,後面的常量值一定比前面的常量值大1。

enum

date ;

three = 3; //切記列舉型別中後面的常量一定比前面的常量大1。

c. 列舉型別的應用:

enum date ;

void statues(date date) }

int main()

注意:

a. 列舉型別的變數,不能用整型型別賦值。只能通過列舉型別中的常量。

b. 定義乙個函式時,將乙個函式的引數設定為列舉型別,這樣就限制呼叫函式必須提供乙個列舉型別中的常量,不能隨意輸入乙個整數。

a. 共用體型別的定義和格式

共用體型別的定義: 使得多個變數(共用體的成員)可以共享同乙個記憶體位址。

定義共用體型別的格式(使用關鍵字union定義共用體):

union untype

;

b. 由於共用體的成員共享記憶體,其中乙個成員的值發生變化,其餘的成員的值也會發生變化。共用體的記憶體空間可以用來存放數種不同型別的成員,但是一瞬間只有乙個成員起作用,起作用的是最後一次存放的成員。

union untype

type;

type.name =

'a';

type.id =

2;//注意: 起作用的是type.id

c. 定義乙個共用體變數的時候,編譯器會根據共用體成員中占用最多記憶體空間的變數分配空間,這樣使得共用體變數中的所有成員都能獲得足夠的記憶體空間。

共用體型別和列舉型

共用體型別和列舉型 1 共用體型別變數的定義 union 共用體名稱 2 共用體型別變數的定義 union 共用體名稱 共用體型別變數 注意,結構體變數所佔的記憶體長度是各成員所佔記憶體之和,而共用體變數則是各成員中最大記憶體者。3 共用體的引用 共用體型別變數 成員名 在引用時需注意,共用體變數中...

C語言的共用體,列舉型別簡單認識

關於一些c語言的共用體,列舉型別簡單分享給大家 1.共用體是將不同型別的變數或者陣列儲存在乙個共同的記憶體單元內 2.不能對共用體的每個成員同時賦值,因為其中的成員占用同乙個記憶體單元,只能存放唯一的乙個值。3.共用體之間可以想互賦值共用體a,b b a 4.共用體型別也可以成為結構體型別的成員,也...

C 結構體 共用體和列舉

結構體就不做多的介紹了,只說說他的位欄位 struct sct 共用體是一中資料格式,他能夠儲存不同的資料型別,但只能同時儲存其中的一種型別。include using namespace std union uno int main 列舉可以代替const,在預設情況下,列舉變數的列舉值為0,1,...