日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C语言共用体

發(fā)布時(shí)間:2024/9/27 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言共用体 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

共用體

  • 共用體類型的定義、變量定義和使用
  • 共用體和結(jié)構(gòu)體的相同和不同
  • 共用體的主要用途

共用體類型的定義、變量定義和使用

1.共用體union和結(jié)構(gòu)體struct在類型定義、變量定義、時(shí)候用方法上很相似。
2.共用體和結(jié)構(gòu)體不同,結(jié)構(gòu)體類似于一個(gè)包裹,結(jié)構(gòu)體中的成員彼此是獨(dú)立存在的,分布在內(nèi)存的不同單元中,他們只是被打包成一個(gè)整體叫做結(jié)構(gòu)體而已。共用體中的各個(gè)成員其實(shí)是一體的,彼此不獨(dú)立,他們使用同一個(gè)內(nèi)存單元。可以理解為:有時(shí)候是這個(gè)元素,有時(shí)候是那個(gè)元素,更準(zhǔn)確的說法是同一個(gè)內(nèi)存空間的多種解釋方式。
3.共用體union就是對(duì)同一塊內(nèi)存中存儲(chǔ)的二進(jìn)制的不同的理解方式。
4.Union的sizeof測到的大小實(shí)際是union中各個(gè)元素里面占用內(nèi)存最大的那個(gè)元素的大小。因?yàn)榭梢源嫦逻@個(gè)就一定能夠存的下其他的元素。
5.Union中元素不存在內(nèi)存對(duì)齊的問題,因?yàn)閡nion中實(shí)際只有一個(gè)內(nèi)存空間,都是從同一個(gè)地址開始的(開始地址就是整個(gè)union占有的內(nèi)存空間的首地址),所以不涉及內(nèi)存對(duì)齊。

共用體和結(jié)構(gòu)體的相同和不同

1.相同點(diǎn)就是操作的語法幾乎相同。
2.不同點(diǎn):本質(zhì)上不同,struct是多個(gè)獨(dú)立元素(內(nèi)存空間)打包在一起。Union是一個(gè)元素(內(nèi)存空間)的多種不同解析方式。

共用體的主要用途

1.共用體就用在那種對(duì)同一個(gè)內(nèi)存空間進(jìn)行多種不同規(guī)則解析的這種情況下。
2.C語言中其實(shí)是可以沒有公用體的,用指針和強(qiáng)制類型轉(zhuǎn)換可以替代共用體完成同樣的功能,但是共用體的方式更簡單、更便捷、更好理解。

總結(jié)

以上是生活随笔為你收集整理的C语言共用体的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。