網路城邦
上一篇 回創作列表 下一篇   字體:
Union; Just Different Perspective! (觀點不同罷了!)
2009/09/17 22:43:35瀏覽1397|回應0|推薦1
除了 keyword 不一樣外,C 語言的 union 與 struct 的語法幾乎是一模一樣,而其意義上的差別為:union 中的 data member 是「共用記憶體資源」,struct 中的 data member 則是「各自擁有自己的記憶體資源」。此外,就 union 的所有 data member 之各個 data type 而言,我們可以將它們解釋為:由不同的觀點來解釋同一塊記憶體的內容。

程式解說:diff_perspectives.c

本程式的主要目的為:針對同一塊記憶體的內容,透過 union 的 data member 來轉換解釋的觀點。以一塊大小為 4-byte 的記憶體區塊為例,我們可以將它視為 4 個 character data (line 5 的 cval[4])、兩個 short integer (line 6 的 sval[2])、一個 integer (line 7 的 ival) 或是一個 float (line 8 的 fval)。




 
( 創作其他 )
推薦文章 列印 加入我的文摘
上一篇 回創作列表 下一篇

引用
引用網址:https://classic-blog.udn.com/article/trackback.jsp?uid=chungchia&aid=3326914