next up previous contents
Next: Union Up: Structures 和 Unions Previous: Structure 與 function   Contents

Bit Fileds

  1. Bit Fields:可以在 structure 中定義指定位元數的成員,以節省記憶體。宣告:
    struct
    {
      type [member_name] : width ;
    };
    
  2. 範例:成員 age 使用 3 個位元,加上 unsigned 符號共使用 4 個位元。
    struct
    {
      unsigned int age : 3;
    } Age;
    
  3. 使用範例:當 age=8 超過 3 個位元,輸出為?
    #include <stdio.h>
    #include <string.h>
    
    struct
    {
      unsigned int age : 3;
    } Age;
    
    int main( )
    {
       Age.age = 4;
       printf( "Sizeof( Age ) : %d\n", sizeof(Age) );
       printf( "Age.age : %d\n", Age.age );
    
       Age.age = 7;
       printf( "Age.age : %d\n", Age.age );
    
       Age.age = 8;
       printf( "Age.age : %d\n", Age.age );
    
       return 0;
    }
    



2015-01-16