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