Začátečnický dotaz na C - variant ve struktuře
Jaroslav Buchta
jaroslav.buchta na hascomp.cz
Středa Listopad 12 21:23:59 CET 2014
typedef struct {
u16_t mavatko;
u16_t zavazek;
} prvni_maj;
typedef struct {
u32_t obusek;
} druhy_maj;
typedef union {
prvni_maj m1;
druhy_maj m2;
} maj;
A jde to napsat v ruznych kombinacich najednou.
Dne 12. 11. 2014 21:15, Petr Labaj napsal(a):
> 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
>
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
---
This email is free from viruses and malware because avast! Antivirus protection is active.
http://www.avast.com
Další informace o konferenci Hw-list