一篇C語言中位字段與結(jié)構(gòu)聯(lián)合的組合使用解析獻(xiàn)給各位,在這篇文章里對(duì)C語言中位字段與結(jié)構(gòu)聯(lián)合的組合使用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下。
舉例:
===================================================
typedef union {
byte Byte;
struct {
byte RAMHAL :1;
byte :1;
byte :1;
byte RAM11 :1;
byte RAM12 :1;
byte RAM13 :1;
byte RAM14 :1;
byte RAM15 :1;
} Bits;
struct {
byte :1;
byte :1;
byte :1;
byte grpRAM_11 :5;
}MergedBits;
} INITRMSTR;
那么賦值方式就有三種,比如直接給INITRMSTR賦值
INITRMSTR = 0xEF;
也可以位字段賦值
INITRMSTR.Bits.RAM15 = 1;
也可以多位的位字段賦值
INITRMSTR.MergedBits.grpRAM_11 = 26
(26是十進(jìn)制,轉(zhuǎn)換成二進(jìn)制是11010, 直接表示 RAM_11 = 0, RAM_12 = 1, RAM_13 = 0, RAM_14 = 1, RAM_15 = 1)
需要注意的是,在二進(jìn)制中順序是從右向左,在這個(gè)結(jié)構(gòu)體中是從上向下.
以上就是C語言中位字段與結(jié)構(gòu)聯(lián)合的組合使用解析,想必都已有了一定的了解,更多關(guān)于C語言的內(nèi)容請(qǐng)繼續(xù)關(guān)注武林技術(shù)頻道。
新聞熱點(diǎn)
疑難解答
圖片精選