pointery C

Jaroslav Buchta jaroslav.buchta na hascomp.cz
Úterý Květen 21 21:41:10 CEST 2013


No jeste vedle, to & tam taky nepatri - pTest uz je pointer, takze ho 
jen pretypovat nebo rovnou definovat jako ukazatel na ProgramEEprom a 
pretypovat pri prirazeni adresy...

Dne 21. 5. 2013 21:36, Miroslav Draxal napsal(a):
>
> Samosebou totální blbost
>
> Místo
>
> tmp = (*((_ProgramEEprom*) * pTest)).Mesic;
>
> Takhle
>
> tmp = (*((_ProgramEEprom*) & pTest)).Mesic;
>
> dyť tam musím cpát adresu!!!  Díky všem. Míra
>
> *From:*hw-list-bounces na list.hw.cz [mailto:hw-list-bounces na list.hw.cz] 
> *On Behalf Of *Milan B.
> *Sent:* Tuesday, May 21, 2013 1:59 PM
> *To:* hw-list na list.hw.cz
> *Subject:* Re: pointery C
>
> On 5/21/2013 1:29 PM, Miroslav Draxal wrote:
>
>     Dobrý den,
>
>     Toto je pokračování vlákna" C _ jak rozepsat řádek". Bylo
>     zpřetrháno, tak proto nově.
>
>     Opět ukazatele. Mocný nástroj, ale složitý!!!
>
>     typedef union {
>
>         char value;
>
>         struct {
>
>                    unsigned Bit0 : 1;
>
>                    unsigned Bit1 : 1;
>
>                    unsigned Bit2 : 1;
>
>                    unsigned Bit3 : 1;
>
>                    unsigned Bit4 : 1;
>
>                    unsigned Bit5 : 1;
>
>                    unsigned Bit6 : 1;
>
>                    unsigned Bit7 : 1;
>
>         } Bits;
>
>         struct {
>
>                    unsigned cas : 7;
>
>                    unsigned bit_PROLNpauza : 1; // set = prolnutí
>
>         } ProlnutiPauza;
>
>         struct {
>
>                    unsigned Mesic : 5;
>
>                    unsigned AutoOnOff : 1;
>
>                    unsigned EndProgram : 1;
>
>         };
>
>     } _ProgramEEprom;
>
>     _ProgramEEprom ProgramRAM[PocetProgEEprom][DelkaProgEEprom]
>
>     char *pTest
>
>                    pTest = &ProgramRAM[Program][RAM_AutoMesic].value; 
>               // na adrese D0 je 0x0B
>
>                    tmp =(*((_ProgramEEprom*)*pTest)).value;
>                                           // načte 1 - chyba
>
>                    tmp = *pTest; // načte 0x0B - ok
>
>     Je problém s
>
>     tmp =(*((_ProgramEEprom*)*pTest)).value;// načte 1
>
>     tmp =(*((_ProgramEEprom*)*pTest)).mesic;// načte taky 1
>
>     ale načítat by měl 0x0B. Co mi zase uniká? Míra
>
>
> Na prvy, zbezny pohlad:
>
> pTest obsahuje smernik na ...value.
>
> Lenze vy tu hodnotu, na ktoru ukazuje (0x0b)  znova konvertujete 
> (castujete) na smernik na strukturu a citate obsah z takto ziskanej 
> adresy.
>
> Predpokladam, ze na adrese 0x0b bude ulozena ta hodnota 1, ktoru takto 
> vycitavate.
>
> -m-
>
>
>
> __________ Informace od ESET NOD32 Antivirus, verze databaze 8355 
> (20130520) __________
>
> Tuto zpravu proveril ESET NOD32 Antivirus.
>
> http://www.eset.cz
>
>
>
> _______________________________________________
> HW-list mailing list  -  sponsored bywww.HW.cz  <http://www.HW.cz>
> Hw-list na list.hw.cz  <mailto:Hw-list na list.hw.cz>
> http://list.hw.cz/mailman/listinfo/hw-list
>
>
>
>
> __________ Informace od ESET NOD32 Antivirus, verze databaze 8357 
> (20130521) __________
>
> Tuto zpravu proveril ESET NOD32 Antivirus.
>
> http://www.eset.cz
>
>
>
> __________ Informace od ESET NOD32 Antivirus, verze databaze 8357 
> (20130521) __________
>
> Tuto zpravu proveril ESET NOD32 Antivirus.
>
> http://www.eset.cz
>
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.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/20130521/094c4c3f/attachment.htm>


Další informace o konferenci Hw-list