列舉:列舉型別的定義形式為:
enum typename;
enum
是乙個新的關鍵字,專門用來定義列舉型別,這也是它在c語言中的唯一用途;typename
是列舉型別的名字;valuename1, valuename2, valuename3, ......
是每個值對應的名字的列表。注意最後的;
不能少。
例如,列出乙個星期有幾天:
enum week;
可以看到,我們僅僅給出了名字,卻沒有給出名字對應的值,這是因為列舉值預設從 0 開始,往後逐個加 1(遞增);也就是說,week 中的 mon、tues ...... sun 對應的值分別為 0、1 ...... 6。
我們也可以給每個名字都指定乙個值:
enum week;
更為簡單的方法是只給第乙個名字指定值:
enum week;
這樣列舉值就從 1 開始遞增,跟上面的寫法是等效的。
列舉是一種型別,通過它可以定義列舉變數:
enumweek
a, b, c;
也可以在定義列舉型別的同時定義變數:
enum week a, b, c;
有了列舉變數,就可以把列表中的值賦給它:
enum week;enum
week
a = mon, b = wed, c = sat;
或者:
純文字複製
enum week a = mon, b = wed, c = sat;
共同體:
共用體(union)
,它的定義格式為:
union 共用體名;
共用體也是一種自定義型別,可以通過它來建立變數,例如:
union data;union
data
a, b, c;
上面是先定義共用體,再建立變數,也可以在定義共用體的同時建立變數:
union data a, b, c;
如果不再定義新的變數,也可以將共用體的名字省略:
純文字複製
union data a, b, c;
結構體:在c語言中,可以使用
結構體(struct)
來存放一組不同型別的資料。結構體的定義形式為:
struct 結構體名;
結構體是一種集合,它裡面包含了多個變數或陣列,它們的型別可以相同,也可以不同,每個這樣的變數或陣列都稱為結構體的
成員(member)
。請看下面的乙個例子:
structstu;
stu 為結構體名,它包含了 5 個成員,分別是 name、num、age、group、score。結構體成員的定義方式與變數和陣列的定義方式相同,只是不能初始化。
注意大括號後面的分號;
不能少,這是一條完整的語句。
結構體也是一種資料型別,它由程式設計師自己定義,可以包含多個其他型別的資料。
像 int、float、char 等是由c語言本身提供的資料型別,不能再進行分拆,我們稱之為
基本資料型別
;而結構體可以包含多個基本型別的資料,也可以包含其他的結構體,我們將它稱為
複雜資料型別
或構造資料型別
。既然結構體是一種資料型別,那麼就可以用它來定義變數。例如:
struct stu stu1, stu2;定義了兩個變數 stu1 和 stu2,它們都是 stu 型別,都由 5 個成員組成。注意關鍵字
struct
不能少。
stu 就像乙個「模板」,定義出來的變數都具有相同的性質。也可以將結構體比作「圖紙」,將結構體變數比作「零件」,根據同一張圖紙生產出來的零件的特性都是一樣的。
你也可以在定義結構體的同時定義結構體變數:
structstu stu1, stu2;
將變數放在結構體定義的最後即可。
如果只需要 stu1、stu2 兩個變數,後面不需要再使用結構體名定義其他變數,那麼在定義時也可以不給出結構體名,如下所示:
純文字複製
structstu1, stu2;
這樣做書寫簡單,但是因為沒有結構體名,後面就沒法用該結構體定義新的變數。
然後就是今天乙個任務,乙個揹包的設計思路,首先
1 揹包的按鈕,設定開啟揹包的按鍵b,然後揹包有上限,或者負重,達到負重或達到上限就不能使用;
2揹包的屬性,裡面可以裝什麼,一般是**防具和首飾,然後就是消耗品,材料,任務道具或任務材料,**一般分為幾個品級,白藍紫粉橙,消耗品則分為血瓶藍瓶,或者道具加buff'之類的,然後就是材料,刷圖爆的材料和任務材料。
3然後揹包設定快捷鍵,比如1234,分別對應裝備或消耗品之類,使用乙個消耗品則消耗品-1,使用裝備則替換當前以穿戴裝備。
結構體,共同體
共用體 構造資料型別,也叫聯合體 用途 使幾個不同型別的變數共佔一段記憶體 相互覆蓋 結構體是一種構造資料型別 用途 把不同型別的資料組合成乙個整體 自定義資料型別 結構體變數所佔記憶體長度是各成員佔的記憶體長度的總和。共同體變數所佔記憶體長度是各最長的成員佔的記憶體長度。共同體每次只能存放哪個的一...
結構體和共同體
結構體適用用是將不同型別的資料成員組合到一起,適用於關係緊密和邏輯相關的資料進行處理 與共同體相比較而言,共同體雖然也能表示不同型別資料的資料集合,但是其資料成員的情形是互斥的,每一時刻只有乙個資料成員起作用,例如乙個人的婚姻狀況,未婚 已婚 離婚,這三個狀態在某一時期只能存在一種情況。struct...
結構體和共同體
結構體 定義多個不同型別的成員變數組合在一起,以實現複雜的資料結構。格式 struct 標籤名 變數1 變數2 或者 typedef struct 標籤名 示例 struct books book 當兩個結構體互相包含,則需要對其中乙個結構體進行宣告 宣告 struct b 結構體a指向結構體b s...