您好,登錄后才能下訂單哦!
(1)c++中,結構體和共用體的定義類似,都是自定義數據類型,具體到語法,調用成員變量都很類似,當然前者的關鍵字是struct,后者的關鍵字是union。他們的含義還是不同的。結構體變量所占內存長度是成員變量所占內存長度之和,即每個變量都有自己獨立的內存單元,而共用體變量成員變量所占內存長度等于最長成員的長度。
(2)由上面的內存占有方法可知,共用體內是可以定義多種不同類型數據,但是,同一時刻只有一個成員起作用(因為共用一個內存單元)。而結構體里面是沒有這個限制的。
(3)正由于共用體共用一個內存單元,當給共用體成員賦值的時候,它們會互相覆蓋,所以只有最后一次的賦值才會有效。
總結:
所以,結構體和共用體之間的差別知道了吧?共用體是節省了內存空間,但是它所帶來的數據使用的限定,似乎更加麻煩,沒什么實用性。大概是為了兼容c而保留的吧。況且c++中的關鍵字new,也可以達到union的內存效果,但是用起來方便多了,所以,一般的編程當中我很少用到,不知道一些高端的東西里面有沒有其他實用用法。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。