union
資料成員共享同一段記憶體,在使用時按照最大成員變數的大小開闢空間,相對struct比較是節省記憶體的。
記憶體空間是以佔記憶體最大的以準。
struct
資料成員各佔一段記憶體,在使用時按照各自成員變數的大小開闢空間。
如圖:一個學生(姓名name char[10],年齡 old short,電話 tel char[11], 地址 addr[100])
struct: 會開闢 char[10]+short+char[11]+char[100]的地址空間。
union: 只會開闢char[100]的地址空間。
最後:struct 賦值以後不會丟,而union賦值以後,是以最近的一個變數成員為準,如果要讀之前的變數成員的值,那麼將會出現髒資料。