C語言中共用體的記憶體

2022-09-23 16:06:14 字數 422 閱讀 5844

c語言中共用體的記憶體

c語言中結構體的和公用體的是有區別的

(1)首先是定義時候的不同

共用體的定義 union

結構體的定義 struct

(2)記憶體的區別

struct(結構體)是所有記憶體的總和

union(共用體)是成員中最大的那個

#include

union data /*共用體* /

m m  

struct stud /*結構體* /

int  m a i n ( )

執行結果

15  8

解析:在union中int(4個位元組),float(2個位元組),double(8個位元組),char(1個位元組),最大的是8,所以公用體的記憶體就為8。

在struct中則是全部之和4+2+8+1=15

C 語言中的共用體和列舉

和結構體一同出現的一般還會有共用體和列舉型別,這三者的語法格式相同,不同的只是使用的情境不同。共用體能夠將不同型別的變數存放到同一段記憶體單元,這也就是 union 的由來。union unionname 先看下邊的程式 include typedef union student1 ustu typ...

C語言 共用體

共用體 typedef union strudent void fun union 列印 sizeof studend 2,data 0 0xfe,data 1 0xff,列印出0xff,暫時沒有理解 已理解 應該列印出0才對啊!如果jack.number 2 那麼列印 sizeof studend...

C語言 共用體

共用體 union define crt secure no warnings include include include union 共用體,構造資料型別,也叫聯合體,用途 十幾個不同型別的變數共佔一段記憶體 相互覆蓋 共用體在型別定義的時候並不分配記憶體,定義共用體變數的時候才分配記憶體 u...