C语言共用体
共用體
- 共用體類型的定義、變量定義和使用
- 共用體和結(jié)構(gòu)體的相同和不同
- 共用體的主要用途
共用體類型的定義、變量定義和使用
1.共用體union和結(jié)構(gòu)體struct在類型定義、變量定義、時候用方法上很相似。
2.共用體和結(jié)構(gòu)體不同,結(jié)構(gòu)體類似于一個包裹,結(jié)構(gòu)體中的成員彼此是獨(dú)立存在的,分布在內(nèi)存的不同單元中,他們只是被打包成一個整體叫做結(jié)構(gòu)體而已。共用體中的各個成員其實是一體的,彼此不獨(dú)立,他們使用同一個內(nèi)存單元。可以理解為:有時候是這個元素,有時候是那個元素,更準(zhǔn)確的說法是同一個內(nèi)存空間的多種解釋方式。
3.共用體union就是對同一塊內(nèi)存中存儲的二進(jìn)制的不同的理解方式。
4.Union的sizeof測到的大小實際是union中各個元素里面占用內(nèi)存最大的那個元素的大小。因為可以存下這個就一定能夠存的下其他的元素。
5.Union中元素不存在內(nèi)存對齊的問題,因為union中實際只有一個內(nèi)存空間,都是從同一個地址開始的(開始地址就是整個union占有的內(nèi)存空間的首地址),所以不涉及內(nèi)存對齊。
共用體和結(jié)構(gòu)體的相同和不同
1.相同點(diǎn)就是操作的語法幾乎相同。
2.不同點(diǎn):本質(zhì)上不同,struct是多個獨(dú)立元素(內(nèi)存空間)打包在一起。Union是一個元素(內(nèi)存空間)的多種不同解析方式。
共用體的主要用途
1.共用體就用在那種對同一個內(nèi)存空間進(jìn)行多種不同規(guī)則解析的這種情況下。
2.C語言中其實是可以沒有公用體的,用指針和強(qiáng)制類型轉(zhuǎn)換可以替代共用體完成同樣的功能,但是共用體的方式更簡單、更便捷、更好理解。
總結(jié)
- 上一篇: 新笔记本怎么激活win10 激活新笔记本
- 下一篇: 怎么能让有病毒的u盘显示出来 能让携带病