結構體的定義:結構體是一種構造資料型別
用途:把不 同型別的資料組合成乙個整體-------自定義資料型別
1、結構體型別定義
struct [結構體名]
;說明:1.結構名可以省略(用無名結構體直接定義變數只能一次)
2.成員型別可以是基本型或構造型
3.結構體型別定義描述結構的組織形式,不分配記憶體
例:
struct student
2、結構體變數的定義
(1)先定義結構體型別,再定義結構體變數
struct 結構體名
;struct 結構體名 變數名表列
例 struct student
; struct student stu1,stu2;
例 #define student struct student
; student stu1,stu2;
(2)定義結構體型別的同時定義結構體變數
struct 結構體名
變數名表列;
例 struct student
stu1,stu2;
struct
變數名表列;
struct
stu1,stu2;
說明:
結構體型別與結構體變數概念不同
型別:不分配記憶體; 變數:分配記憶體
型別:不能賦值、訪問、運算; 變數:可以
結構體可巢狀
結構體成員名與程式中變數名可相同,不會混淆
結構體型別及變數的作用域與生存期
3、結構體變數的引用
引用規則
結構體變數不能整體引用,只能引用變數成員
引用方式: 結構體變數名.成員名
成員(分量)運算子
優先順序: 1
結合性:從左向右
可以將乙個結構體變數賦值給另乙個結構體變數
結構體巢狀時逐級引用
結構體基礎知識
1.首先我們來認識一下什麼是結構體 其實,結構體就是一些值的集合。我們把這些值稱為它的成員,乙個結構體的各個成員可能具有不同的型別。結構體的形式如下 第一種 只有結構體定義 struct 結構名 例如 struct stu 第二種 附加該結構體型別的 結構體變數 的初始化的結構體定義 struct ...
程式設計師必須弄懂結構體,結構體基礎知識
結構體的定義如下所示,struct為結構體關鍵字,tag為結構體的標誌,member list為結構體成員列表,其必須列出其所有成員 variable list為此結構體宣告的變數。struct tag variable list 在一般情況下,tag member list variable li...
c 基礎知識 六 結構體位元組對齊
我們在使用結構體的時候,有沒有發現這樣的情況,用sizeof 結構體 算出來的記憶體位元組數與結構體裡面的資料所佔記憶體位元組數總和不匹配。比如以下 struct a 本來總共應該是7個位元組 但是用sizeof 結構體 算出來卻是12個位元組今天我們來看看到底是怎麼回事呢?原來啊,是編譯器幫我們做...