1.?C語言中?union?
與?struct?
的區別
類型 | struct | union |
內存分配機制 | 編譯器為每個成員?獨立分配內存空間,總內存大小 = 所有成員大小之和(考慮內存對齊) | 所有成員?共享同一段內存空間,總內存大小 = ?最大成員的大小? |
數據存儲特性 | 1.?所有成員可同時存儲數據 2.?成員獨立無覆蓋風險 3.?可初始化任意成員 | 1.?同一時間僅能存儲一個成員 2.?新賦值覆蓋舊數據 3.?默認僅能初始化首個成員 |
應用場景 | 需同時保存多個關聯數據(如學生信息:姓名+年齡+成績) | 處理互斥數據 |