資料型別之結構體

2021-07-23 22:24:44 字數 639 閱讀 3996

結構體是構造資料型別的一種

在c語言中,結構體是一種非常重要的資料型別。

封裝多個不同型別的元素,作為互動的乙個介面

互動這塊,結構體變數可以作為資料結構中的乙個節點,可以作為網路通訊中傳送的訊息的封裝,可以作為核心中檔案屬性的封裝,可以作為驅動中對裝置檔案操作的封裝.

也就是說,驅動,核心,應用方面都應用到了結構體,頻率遠遠高於陣列和共用體,與指標相輔相成,應用極其廣泛

/*結構體的宣告不分配記憶體空間*/

struct hello;

/*結構體的定義分配記憶體空間*/

struct hello hello;//我是說這樣可以定義,我只是演示而已,千萬不要像我這樣定義,確保別人看你的識別符號就知道你寫的是什麼東西

對齊的概念為

結構體成員儲存不能跨"對齊位元組線"//我自己想的乙個概念

對齊位元組線:假設按照6對齊(實際上不存在按照6對齊)

abcdef|ghijkl|mnopqr|st

"為對齊位元組線。乙個結構體成員型別不能跨位元組線儲存

如上面結構體的儲存,為20位元組.

對齊之後還要補齊為最小的大於20的6的整數倍,即補齊為24位元組.

資料型別之共用體

共用體是構造資料型別的一種 共用體也常被稱為聯合體 共用體是單個儲存單位上的元素集合 注意 元素都在乙個儲存單位上,這個儲存單位的大小是最大資料型別的大小 我們用共用體並不是記憶體空間不夠用 用共用體時,主要利用 元素都儲存到乙個儲存單位上 這一特性 共用體的宣告不分配記憶體空間 union hel...

列舉資料型別 struct結構體

列舉通常用來表示一組常量 列舉類似於單項選擇題,只能多軒逸 列舉即可以放在類中也可以放在類外 使用關鍵字enum宣告列舉型別 enum week中間用逗號 半形 間隔,最後一位成員可加可不加 為了區分是最後一位成員,一般不加 列舉預設資料型別為int型,如上 mnday 0 sunday 6 定義乙...

自定義資料型別 結構體

陣列是一種資料形式,其特點是多個相同型別的元素集合起來 結構體是另一種重要的資料形式,特點是將不同型別的成員組合起來 陣列和結構體形成了兩種風格迥異的聚合方式,通過他們以及相互組合,巢狀的機制可以構造出複雜的,滿足應用要求的自定義資料型別 結構體允許將不同型別的資料元素組合到一起形成一種新的資料型別...