兩者最大的區別是內存的使用
一 結構體struct
各成員各自擁有自己的內存,各自使用互不干擾,同時存在的,遵循內存對齊原則。一個struct變量的總長度
等於所有成員的長度之和
二 聯合體union
各成員共用一塊內存空間,並且同時只有一個成員可以得到這塊內存的使用權(對該內存的讀寫)
各變量共用一個內存的首地址,因此聯合體比結構體更節約內存。一個union的總長度至少能容納最大成員變量,而且要滿足
所有成員變量類型大小的整數倍。不可以對聯合體變量直接賦值或者其他操作。
兩者最大的區別是內存的使用
一 結構體struct
各成員各自擁有自己的內存,各自使用互不干擾,同時存在的,遵循內存對齊原則。一個struct變量的總長度
等於所有成員的長度之和
二 聯合體union
各成員共用一塊內存空間,並且同時只有一個成員可以得到這塊內存的使用權(對該內存的讀寫)
各變量共用一個內存的首地址,因此聯合體比結構體更節約內存。一個union的總長度至少能容納最大成員變量,而且要滿足
所有成員變量類型大小的整數倍。不可以對聯合體變量直接賦值或者其他操作。