Re: Adresace přes pointer
Jaroslav Buchta
jaroslav.buchta na hascomp.cz
Čtvrtek Říjen 26 13:24:46 CEST 2023
Asi to mate jinak/sloziteji, nez je v mailu, tohle by asi fungovalo
jestli jsem neco neprehlednul.
Na jake je to platforme? Treba u 32b je struktura casto dost derava,
protoze se polozky ruzne zarovnavaji.
A i jinak je to dost spatny pristup, program muze byt tezko prenositelny
a zavisly na vsem moznem nastaveni prekladace...
Dne 26.10.2023 v 12:41 Martin Záruba napsal(a):
>
> Tak s tím teď taky bojuji a něco dělám špatně. Mám strukturu, pro
> jednoduchost takto
>
> structtDATA {
> int16_tx;
> int16_ty;
> }DATA;
> byte buf[2];
> uint16_t ADRESA;
>
> Potřebuji do ní zapisovat tak, jako by to bylo pole, tedy jakoby x
> bylo DATA[0] a y bylo DATA[1].
>
> Napsal jsem to takto:
>
> int16_t*ADATA=(int16_t*)&DATA+ADRESA*2;
> *ADATA=buf;
> A očekával jsem, že jestliže pointer ADATA je typu int16_t, bude se to
> chovat tak, že pokud do ADRESA dám 0 zapíšou se dva byte z buf do
> proměnné x, pokud dám do ADRESA 1, zapíšou se do y.
> Ale nefunguje to. Co je blbě?
> Je mi jasné, že asi jednodušší je použít memcpy, ale já bych rád
> věděl, co dělám blbě.
> --
>
> Martin Záruba
>
> _______________________________________________
> HW-list mailing list - sponsored bywww.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20231026/ce3e8a40/attachment.htm>
Další informace o konferenci Hw-list