精品偷拍一区二区三区,亚洲精品永久 码,亚洲综合日韩精品欧美国产,亚洲国产日韩a在线亚洲

  • <center id="usuqs"></center>
  • 
    
  • struct定義中在成員后面加冒號“:

    struct定義中在成員后面加冒號“:
    typedef unsigned char u_char;
    struct frame_control {
    u_char fc_subtype :4;
    u_char fc_type :2;
    u_char fc_protocol_version :2;
    u_char fc_order :1;
    u_char fc_wep :1;
    u_char fc_more_data :1;
    u_char fc_pwr_mgt :1;
    u_char fc_retry :1;
    u_char fc_more_frag :1;
    u_char fc_from_ds :1;
    u_char fc_to_ds :1;
    };
    里面成員定義中加:
    其他人氣:811 ℃時間:2019-08-20 15:14:26
    優(yōu)質(zhì)解答
    這是位域操作的表示方法,也就是說后面加上“:1”的意思是這個成員的大小占所定義類型的1 bit,“:2”占2 bit,依次類推.當然大小不能超過所定義類型包含的總bit數(shù).
    一個bytes(字節(jié))是8 bit(bit).例如你的結構中定義的類型是u_char,一個字節(jié),共8bit,最大就不能超過8.
    32位機下,
    short是2字節(jié),共16bit,最大就不能超過16.
    int是4字節(jié),共32bit,最大就不能超過32.
    依次類推.
    這樣定義比較省空間.例如你上面的結構,定義的變量類型是u_char,是一字節(jié)類型,即8bit.
    fc_subtype占了4bit,fc_type占2bit,fc_protocol_version占2bit,共8bit,正好是一個字節(jié).
    其他八個成員,各占1bit,共8bit,正好也是一個字節(jié).
    因此你的結構的大小如果用sizeof(struct frame_control)計算,就是2bytes.
    我來回答
    類似推薦
    請使用1024x768 IE6.0或更高版本瀏覽器瀏覽本站點,以保證最佳閱讀效果。本頁提供作業(yè)小助手,一起搜作業(yè)以及作業(yè)好幫手最新版!
    版權所有 CopyRight © 2012-2024 作業(yè)小助手 All Rights Reserved. 手機版