字體:小 中 大 | |
|
|
2009/09/17 22:43:35瀏覽1427|回應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)。 |
|
( 創作|其他 ) |