1.定義乙個機構體的形式
struct 結構名;
2.定義結構體變數
變數名表列;
變數名表列;
3.結構體成員的表示方法
結構變數名.成員名
例如: boy1.num
如果成員本身又是乙個結構則必須逐級找到最低階的成員才能使用。 例如
boy1.birthday.month
4.結構體陣列
方法和結構變數相似,只需說明它為陣列型別即可。
5.結構體指標變數的說明和使用
說明:struct 結構名 *結構指標變數名
例如:struct stu *pstu;
其訪問的一般形式為:
(* 結構指標變數
).成員名
例如:(*pstu).num
或為:結構指標變數
->
成員名
pstu->num
6.鍊錶(記憶體中不連續儲存的)
定義:可在第乙個結點的指標域記憶體入第二個結點的首位址,在第二個結點的指標域內又存放第三個結點的首位址,如此串連下去直到最後乙個結點。最後乙個結點因無後續結點連線,其指標域可賦為0。這樣一種連線方式,在資料結構中稱為「鍊錶」。
處理動態鍊錶所需函式
7.共用體
定義形式:union 共用
體名變數列表;例如:union datea,b,c;
還有幾種定義類似於結構體的定義
但共用體和機構提的含義不同,結構體所佔記憶體等於各成員佔的記憶體長度之和,公用體所佔的記憶體長度等於最長的成員長
共同體的引用:a.i
共用體內的值是最後一次存入的變數值所覆蓋
不能對共用體變數名賦值,不能引用變數名得到乙個值,不能在定義共用體變數時初始化
8.列舉型別
定義:有些變數的取值被限定在乙個有限的範圍內
形式:enum
列舉名; 例如:
enum weekday;
說明形式類似於結構體和共用體
1.列舉值是常量,不是變數。不能在程式中用賦值語句再對它賦值。
2.列舉元素本身由系統定義了乙個表示序號的數值,從0開始順序定義為0,1,2…。但是也可以在定義的時候由程式設計師指定其值
3.列舉值可以用來進行判斷比較
4.乙個整數不能直接賦給乙個列舉變數,應先進行強制型別轉換,例如:workday=(enum weekday)2;
9.typedef定義型別
結構體與共用體
結構體的作用 在網路協議 通訊控制 嵌入式系統的c c 程式設計中,我們經常要傳送的不是簡單的位元組流 char型陣列 而是多種資料組合在一起的乙個整體。其表現形式是乙個結構體。簡單來說,結構體就是用來封裝資料的。結構體的定義 struct student struct student stu st...
結構體與共用體
結構體和共用體 聯合體 是自定義的資料型別,常用於處理非數值型資料,使用如 鍊錶 佇列 樹等。1.結構體定義 結構體是用其他型別構造出來的資料型別。結構體型別如下 struct student 定義乙個結構體變數如下 struct student stu1 stu1.age 32 stu1.name...
結構體與共用體
c語言中的結構體有些類似物件,只是不能繼承例項化,只能用於表示儲存不同的資料型別。例如頂乙個book的 物件 struct book book 其中book是結構體的標籤,book結構體的變數名,裡面的char title 50 是定義了乙個個的變數。char title 50 表示對title變數...