C語言 位段的使用
提問人:劉團(tuán)圓發(fā)布時(shí)間:2020-12-02
對(duì)位段一旦定義,就可以引用其中的數(shù)據(jù),位段中的數(shù)據(jù)的引用方法與結(jié)構(gòu)體成員的引用方法相似,如:
struct bit_pack x; /*先定義變量,再進(jìn)行引用*/
x.flagl=0;
x.flag2=l;
x.no=23;
需要注意的是,一個(gè)位段允許的最大值范圍,例如x.no的最大值為31,如果賦給它大于31的數(shù),系統(tǒng)不會(huì)報(bào)錯(cuò),但結(jié)果是不正確的。例如:
x.no=44;
讀者可以運(yùn)行后看一下輸出結(jié)果。
位段可以以整型格式輸出,如:
printf("%d,%d,%d\n",x.flagl,x.flag2,x.no);
輸出結(jié)果為:
0,1,23
位段可以參與數(shù)值運(yùn)算,運(yùn)算中會(huì)被系統(tǒng)自動(dòng)轉(zhuǎn)換為整型,例如:
x.no+34
繼續(xù)查找其他問題的答案?
相關(guān)視頻回答
點(diǎn)擊加載更多評(píng)論>>