2016-04-27 3 views
0

何:CおよびC++の奇数構文 "unsigned int:32;"このコード行はどういう意味

unsigned int     :32  ; 

それはから来ている:

 typedef struct avr32_pwm_channel_t { 
     union { 
       unsigned long     cmr  ;//0x0000 
       avr32_pwm_cmr_t    CMR  ; 
     }; 
       unsigned long     cdty  ;//0x0004 
       unsigned long     cprd  ;//0x0008 
     const unsigned long     ccnt  ;//0x000c 
       unsigned long     cupd  ;//0x0010 
       unsigned int     :32  ;//0x0014 
       unsigned int     :32  ;//0x0018 
       unsigned int     :32  ;//0x001c 
    } avr32_pwm_channel_t; 

私はそれをグーグルでみてくださいしかし、それはビットフィールドと呼ばれる何も

+0

ビットフィールドをルックアップします。 – DeiDei

+0

ありがとう私はそれについて今読んでいる –

答えて

1

は認められませんでした。これは、構造体の各メンバの幅を決定します。

https://en.wikipedia.org/wiki/Bit_fieldを参照してください。

+0

私たちはどのように構造体のそれらの3つのメンバーを区別することができますか? 'unsigned int:32; // 0x0014 unsigned int:32; // 0x0018 unsigned int:32; // 0x001c' 名前がないので、もっと説明してください。 –

+0

これらはいくつかのパディングビットです。 – Ouss4

+0

aha ...ありがとう このリンクもwikiよりも優れています http://publications.gbdirect.co.uk/c_book/chapter6/bitfields.html –

関連する問題