C語言構造型別之共用體與列舉

2021-10-23 23:23:14 字數 697 閱讀 8156

常用於 查詢 

定義;關鍵字 union + 共用體名 //模擬結構體 關鍵字struct + 結構體名

共用體的記憶體大小只和最大的元素大小有關

共用體大部分操作和結構體一樣

共用體依然可以使用位元組對齊和位域

#pragma  pack(1)

union message;

關鍵字enum + 列舉名

列舉本質為正整數型別,數值依次加1

可以為列舉元素指定其值為多少

enum weekday;

enum weekday w1=tuesday;

printf("%d\n",w1);

輸出為10;

#includeunion messagemm;

enum weekday;

int main();

printf("%lu\n",sizeof(m1)); //輸出列舉的大小

mm.money=100;

printf("%d\n",w1); //輸出tuesday的值,驗證列舉本質為正整數,數值依次加一

輸出為10; //monday初始化為9,tuesday=9+1,輸出為10

return 0;

}

C語言構造型別總結(共用體)

共用體又叫聯合,因為它的關鍵字是union,它的使用不像列舉和結構體那麼頻繁,但是作為c語言中一種資料型別,我們也有必要弄清它的用法.從前面的分析,我們知道結構體的總長度等於所有成員的和 當然還可能遇到記憶體對齊問題 共用體剛好與結構體不同,共用體所有成員共用一塊記憶體 順序從低位址開始存放,一次只...

語言 構造型別(結構體 列舉)

42.構造型別 構造資料型別 陣列型別 結構體型別 共用體 聯合 型別。43.結構體 結構 是一種構造型別,它是由若干 成員 組成的。每乙個成員可以時乙個基本資料型別或者又是乙個構造型別。結構體可以把功能相同的資料組織起來,存在一起,用的時候方便,而且在呼叫函式時,若傳遞引數較多,傳乙個結構體相對而...

C 列舉型別和共用體型別

我們主要學習的是 1.列舉型別 2.共用體型別 a.列舉型別的定義以及列舉型別的格式?列舉型別提供了一組常量的集合。c 中可以使用關鍵字enum定義列舉型別,下面是列舉型別的格式 enum 列舉型別名 enum date b.定義列舉型別時,可以給常量提供乙個整數值。如果沒有提供整數值,預設第乙個常...