C語言程式設計教程筆記 複雜資料型別 共用體

2021-06-08 03:54:39 字數 969 閱讀 1895

公用體和結構體一樣,是使用者自定義的資料型別。

共用體資料型別與共用體變數

共用體變數可以儲存不同型別的資料,即不同型別的資料可以公用乙個共同體空間,這些不同型別的資料項在記憶體中所占用的其實但願是相同的。

通常變數的值可以改變但是資料型別卻不能改變。在某些應用中要求某個儲存區域中的資料物件在程式執行的不同時間能儲存不同型別的資料。公用體為了這種需求而生。

共用體是幾種不同型別的資料值放在同一記憶體區域中。某乙個時刻,存於共用體中的只有一種資料值。即共用體是多長那個資料值覆蓋儲存,幾種不同型別的資料值從同一位址開始儲存,但任意時刻只有一種型別的資料。

分配給共用體的儲存區域大小至少要有儲存其中最大一種資料所需要的空間量。

定義形式和結構體相同,關鍵字使用union。

union 共用體型別名{

成員說明列表

和定義結構體一樣,定義共用體有3

種形式。

共用體變數的引用

共用體變數的值即是他最後被賦的值。

變數的引用和結構體成員的引用一樣

直接引用.

間接引用->

共用體變數的應用

共用體一般不單獨使用,通常作為結構體的成員使用,這樣結構體可因在不同情況下儲存不同的資料。

位運算與位段結構

此處待續

C語言複雜資料型別

1 結構體 一 結構體的三種定義方式 方式一 結構體標準寫法 struct person struct person personnomal 方式二 struct person myperson 定義結構體的同時,初始化乙個person 結構體 struct person personnomal 定...

C複雜資料型別

結構體 1 表示更豐富的複雜型別 以後類這個概念的 2 內部屬性定義的順序 不影響使用,但是會影響記憶體分配 3 關鍵知識點在於記憶體大小的對齊問題。structstudent 聯合體 1 同乙個記憶體區域可以存放不同資料型別 非常少見 2 內部屬性的定義不影響使用也不影響記憶體分配 3 操作了乙個...

複雜資料型別

1 在c語言中,除了之前學到的基本資料型別 整型,浮點型,字元型 外,還有指標型別和構造型別 結構型,聯合型,列舉型 2 結構體型別,用於把不同型別的資料組合成乙個集合體,宣告格式 struct 結構名 例如 includestruct students void main 結構體的特點是 表示更豐...