Was bedeutet "unsigned char p1 :1;"



  • Hallo zusammen,
    ich bin gerade dabei ein schon lauffähiges Programm nachvollziehen zu wollen. Dabei bin ich auf folgendes Konstrukt gestoßen:

    typedef union
    {
      unsigned char byte;
      struct
      {
        unsigned char p1 :1;
        unsigned char p2 :1;
        unsigned char p3 :1;
        unsigned char p4 :1;
        unsigned char p5 :1;
        unsigned char p6 :1;
        unsigned char p7 :1;
        unsigned char p8 :1;
      } key;
    }keys_t;
    

    Kann mir bitte jemand erklären, was das ":1" zu bedeuten hat? Bedeutet das, dass jedes Bit hier mit 1 initialisiert wird? Falls ja, warum macht man das dann nicht klassisch mit "="-Zuweisung.

    Habe schon zu dem Theama Google befragt, leider hab ich nichts passendes gefunden.

    Danke für eure Hilfe.





  • ah, wunderbar. Vielen Dank.


Log in to reply