結構體 共用體 列舉

2021-07-13 07:34:12 字數 579 閱讀 1070

一、結構體

1.結構體和類一樣定義時最後要加分號;

2.結構體型別定義變數時struct關鍵字不能省略;

3定義好的結構體,系統對之不分配儲存單元;

4.c99標準允許對某一成員初始化;

5.不能企圖輸出結構體變數名來達到輸出結構體的目的;

6.同類結構體間可以相互賦值;

二、共用體

1.幾個不同的變數共享同一段記憶體結構;

2.共用體所佔位元組為最長變數所佔位元組數;而結構體是,各變數所佔位元組之和。

3.同乙個記憶體段可以用來存放幾種不同的變數,但同一瞬時只能存放其中乙個成員,初始化時只能有乙個常量;

4.共用體中起作用的成員是最後一次被賦值的變數;

5.共用體各成員變數位址一樣;

6.不能使用共用體名來使用變數;

7.以前c規定不能把共用體作為函式引數,但共用體指標可以作為函式引數,而c99允許共用體作為函式引數。

三、列舉

1.c編譯對列舉型別的列舉元素按常量處理,故稱為列舉常量;

2.列舉元素是常量不是變數,所以不可以賦值;

3.列舉可以用if判斷

結構體 共用體 列舉

結構體 共用體 列舉 分析 首先宣告的結構體元素year的位址是最低的 0012ff74 而最後宣告的day的位址是最高的 0012ff7c 而我們又知道在棧中宣告變數的時候,位址是從高到低的分配的.因此,切記在結構體中宣告的變數與直接在外面宣告是不一樣的.在結構體中,最先宣告的變數放在最低位的.另...

列舉,結構體,共用體

列舉的定義 enum log level dbg,inf,war,err,fat,all,offvoid writeinfor log level level switch level case dbg printf d n dbg 上述定義的列舉型別,預設為dbg 0,inf 1,依次類推。1 列...

結構體,共用體,列舉體,typedef

概念 結構體時一種構造資料型別 用途 把不同型別的資料組合成乙個整體 記憶體 各成員所佔記憶體空間的累加 一.結構體的宣告與定義變數的方法一共有三種 1.常規定義 struct aa 注意大括號後面有分號 變數定義 struct 機構體名 結構體變數名錶 如 struct aa aa,bb 前面的s...