• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Drukowanie zawartości structa będącego wewnątrz unii.

Mały hosting, OGROMNE możliwości
+1 głos
208 wizyt
pytanie zadane 19 stycznia 2021 w C i C++ przez Modest_8978 Nowicjusz (130 p.)

Mam problem, gdyż chciałbym się dostać do bita w unii bez formy 

printf("%d",bit_set.tab.q);

Czy da się to zrobić prościej mianowicie dostać się do np. 3 pola w strukturze tab za pomocą cyfry 3? Chociażby tak aby na ekranie pokazać wszystkie bity ze struktury za pomocą pętli i jednej instrukcji printf?

Tak wygląda moja unia:

union bit_set
{
    signed char x;
    struct tab
    {
        unsigned char i: 1;
        unsigned char u: 1;
        unsigned char y: 1;
        unsigned char t: 1;
        unsigned char r: 1;
        unsigned char e: 1;
        unsigned char w: 1;
        unsigned char q: 1;
    } tab;
};

Nie wykluczam przemodelowania całej unii.

Z góry dziękuję za pomoc.

1 odpowiedź

+1 głos
odpowiedź 19 stycznia 2021 przez Michałełe Nałogowiec (25,600 p.)

dostać się do np. 3 pola w strukturze tab za pomocą cyfry 3

Nie da się, chyba że zmieniłbyś strukturę tab, żeby zawierała tylko jeden atrybut, a sama będzie tablicą - w naszym przypadku mającą 8 elementów.

Przykład:

struct tab
    {
        unsigned char x: 1;
    } tab[8];

I teraz możesz dostać się za pomocą pętli:

for(int i = 0; i < 8; ++i)
  printf("%d",bit_set.tab[i].x);

 

komentarz 20 stycznia 2021 przez Modest_8978 Nowicjusz (130 p.)
Ok, dziękuję za odpowiedź

Podobne pytania

0 głosów
0 odpowiedzi 946 wizyt
pytanie zadane 30 kwietnia 2020 w C i C++ przez fortuna Początkujący (310 p.)
0 głosów
1 odpowiedź 1,214 wizyt
pytanie zadane 14 kwietnia 2020 w C i C++ przez Hubertius Bywalec (2,970 p.)
0 głosów
1 odpowiedź 600 wizyt
pytanie zadane 17 czerwca 2022 w Mikrokontrolery przez Mavimix Dyskutant (8,490 p.)

93,718 zapytań

142,629 odpowiedzi

323,261 komentarzy

63,265 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...