Začátečnický dotaz na C - variant ve struktuře

Petr Labaj labaj na volny.cz
Středa Listopad 12 21:15:52 CET 2014


Omlouvám a stydím se za začátečnický dotaz.
Jak se prosím dá ve struktuře v C zapsat variantní
přístup k proměnným?

Mějme strukturu "prvni_maj", která má třeba 16bitové členy "mavatko"
a "zavazek". Ale občas bych ke stejné adrese v paměti potřeboval
přistupvat jako ke 32bit proměnné "obusek".
Neřešme teď prosím edianitu.

typedef struct {
        u16_t mavatko;
        u16_t zavazek;
} prvni_maj;

Jak udělat to, abych se na stejné místo v paměti bez nějakého přetypovávání
mohl odkazovat jako na 32bit hodnotu, tj. aby se struktura tvářila, že má formát:

typedef struct {
        u32_t obusek;
} prvni_maj;

Tedy jak udělat něco jako alias. Unionem to předpokládám nejde, když potřebuju
sdílet stejný datový prostor buď jako jednu velkou nebo více malých proměnných.

Díky a nepohoršujte se prosím nad mými neznalostmi.
PL



Další informace o konferenci Hw-list