1. 程式人生 > >結構體、聯合體、類:struct、union、class

結構體、聯合體、類:struct、union、class

                   區別:類的成員預設是私有的private

                              結構體成員預設是公有的public

                             聯合體又叫共同體,成員預設是公有的public,但是系統只給分配一個記憶體,記憶體大小為最長的成員所需的記憶體大小,同一時間只有一個成員有值,比如:union中有int a,b兩個變數,在第一次賦值前,值是它們的記憶體地址,之後如果是a被賦值,那麼在給a賦值的同時會使b的值初始化為0;同理,B被賦值,A就會被初始化為0;

                 相同點: 結構體和類一樣,每個成員都有屬於自己的記憶體空間,所以其長度sizeof是按成員所佔的空間總數和;

                                 結構體和聯合體一樣,訪問成員預設是公有的,

長度:union的長度是最大的成員的長度,

        結構體和類一樣,以8個位元組為單位,一個一個成員往進放,放不下就重新開8個,空餘的作廢但是也算在長度中,

比如:int int 佔8個

          int char佔8個

   char   double 佔16個