欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: C語言:共用體-閱后即焚的變量 [打印本頁]

作者: XYDDD    時間: 2022-8-24 09:43
標題: C語言:共用體-閱后即焚的變量
共用體-閱后即焚的變量

union共用體即它內(nèi)部的成員,存儲在同一個地址空間中。


通過圖示,比較生動的讓大家看到,不論來了多少個成員,所有成員只能存儲在同一個地址空間中。那么地址空間的大小具體應該是多大呢?

地址空間的大小取決于最大的數(shù)據(jù)類型,最大的數(shù)據(jù)類型有多大,共用體數(shù)據(jù)的大小就有多少:



從圖示代碼中,可以明確的看到,共用體變量的大小,取決于共用體成員中最大的數(shù)據(jù)類型,即當最大的是int型整型變量的時候,共用體大小就為4字節(jié),當為double類型的時候,共用體大小就變成了8字節(jié)。

那么接下來再帶大家看一下,我們今天的重點,也是對于新手而言比較容易入坑的點,小李將這個特點稱為-“閱后即焚的變量”。


從代碼中,我們可以看到,當我們對公用體的第二個成員賦值之后,再看共用體的第一個成員值,也被改變了。這就是對于共用體的成員都存在同一個地址空間的體現(xiàn)。一個char型變量有8位,當我們賦值之后,系統(tǒng)就會在共用體空間的低八位進行存儲。從而之前存儲的內(nèi)容就被覆蓋了。


總結,共用體的成員全部存儲在一個空間中,所以對于成員的使用,必須要即配即用,閱后即焚,在一個成員賦值之后,其它的成員的值都會由于公用地址空間的原因受到影響


作者: 1109    時間: 2022-8-24 17:23
圖文并茂,很精彩,謝謝樓主!




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1