共用體類型的單元形式
發(fā)布時間:2014/6/7 20:27:30 訪問次數(shù):1116
在C語言中,INA106KPG4不同數(shù)據(jù)類型的數(shù)據(jù)在編譯時占據(jù)各自的內存空間,彼此不能占用,但共用體類型(也稱聯(lián)合類型)例外。共用體是C語言構造類型數(shù)據(jù)結構之一,C編譯器在編譯時為此類型指定一塊內存空間,并允許各種類型的數(shù)據(jù)共同使用。共用體與結構類似,它也可以包含多個不同數(shù)據(jù)類型的元素,
間并不是各成員所需存儲空間的總和,而是在任何時候其變量至多只能存放該類型所包含的一個成員,即它所包含的各個成員只能分時共享同一存儲空間。這是共用體和結構的區(qū)別所在。共用體類型是指將不同的數(shù)據(jù)類型組織成一個整體,它們在內存中占用同一段存儲單元。
共用體類型的單元形式如下:
例如:
共用體類型data包含3個不同類型的元素,分別是int、float和char類型。
定義共用體變量的一般形式如下:
union共用體類型標識符共用體變量名表;
obj為data類型共用體變量,它能使一個整型變量obj.a、一個實型變量obj.b和一個字符型變量obj.c分時共享同一存儲空間。
與結構變量一樣,也可在定義共用體類型的同時定義共用體變量。
對于共用體變量,系統(tǒng)只給該變量按其各共用體成員中所需空間最大的那個成員的長度分配內存空間。
對共用體的成員的引用與結構體的成員的引用相同,但由于共用體各成員共用同一段內存空間,使用時需根據(jù)需要使用其中的某一個成員。共用體的這一特點,方便程序設計人員在同一內存區(qū)對不同數(shù)據(jù)類型的交替使用,增加靈活性,節(jié)省內存。
可以引用共用體變量的成員,其用法與結構體完全相同。若定義共用體類型為:
其成員引用為obj.a、obj.b和obj.c。
共用體變量可以在不同時間內保存不同類型和長度的數(shù)據(jù),從而提供了在同一存儲單元中可以分時操作不同類型數(shù)據(jù)的功能。
共用體類型和結構體類型的定義形式相似,但它們的含義卻不同。結構體變量所占用內存長度是各成員所占內存的長度之和,每個成員分別占有自己的內存單元。共用體變量所占內存長度等于其所包含的最長的成員的長度,每個成員共同占用地址相同的內存單元。
在C語言中,INA106KPG4不同數(shù)據(jù)類型的數(shù)據(jù)在編譯時占據(jù)各自的內存空間,彼此不能占用,但共用體類型(也稱聯(lián)合類型)例外。共用體是C語言構造類型數(shù)據(jù)結構之一,C編譯器在編譯時為此類型指定一塊內存空間,并允許各種類型的數(shù)據(jù)共同使用。共用體與結構類似,它也可以包含多個不同數(shù)據(jù)類型的元素,
間并不是各成員所需存儲空間的總和,而是在任何時候其變量至多只能存放該類型所包含的一個成員,即它所包含的各個成員只能分時共享同一存儲空間。這是共用體和結構的區(qū)別所在。共用體類型是指將不同的數(shù)據(jù)類型組織成一個整體,它們在內存中占用同一段存儲單元。
共用體類型的單元形式如下:
例如:
共用體類型data包含3個不同類型的元素,分別是int、float和char類型。
定義共用體變量的一般形式如下:
union共用體類型標識符共用體變量名表;
obj為data類型共用體變量,它能使一個整型變量obj.a、一個實型變量obj.b和一個字符型變量obj.c分時共享同一存儲空間。
與結構變量一樣,也可在定義共用體類型的同時定義共用體變量。
對于共用體變量,系統(tǒng)只給該變量按其各共用體成員中所需空間最大的那個成員的長度分配內存空間。
對共用體的成員的引用與結構體的成員的引用相同,但由于共用體各成員共用同一段內存空間,使用時需根據(jù)需要使用其中的某一個成員。共用體的這一特點,方便程序設計人員在同一內存區(qū)對不同數(shù)據(jù)類型的交替使用,增加靈活性,節(jié)省內存。
可以引用共用體變量的成員,其用法與結構體完全相同。若定義共用體類型為:
其成員引用為obj.a、obj.b和obj.c。
共用體變量可以在不同時間內保存不同類型和長度的數(shù)據(jù),從而提供了在同一存儲單元中可以分時操作不同類型數(shù)據(jù)的功能。
共用體類型和結構體類型的定義形式相似,但它們的含義卻不同。結構體變量所占用內存長度是各成員所占內存的長度之和,每個成員分別占有自己的內存單元。共用體變量所占內存長度等于其所包含的最長的成員的長度,每個成員共同占用地址相同的內存單元。
上一篇:結構指針是指向結構的指針