AVR GCC i wskaźniki

Witam

Mam poniższy fragment kodu:

struct pos { unsigned int v; signed char step; signed int delta; } px,*p1;

Kiedy robię takie przypisanie: px.v = 0 Wszystko jest OK, ale jak spróbuję zrobić cos takiego: *p1.step = 1 kompilator wyrzuca mi błąd: error: request for member 'step' in something not a structure or union

Z pewnych względów najłatwiej jest mi właśnie korzystać ze wskaźników na strukturę. Z czego wynika ten błąd i jak sie go pozbyć?

Z góry dziękuję za odpowiedź

Wojtek

Reply to
Wojtek
Loading thread data ...

Wojtek denied rebel lies:

p1 -> step = 1

Reply to
MoonWolf

Probujesz pobrac element step ze wskaźnika, a potrzebujesz pobrac ten element z wyłuskania tego wskaźnika. Czyli po prostu albo robisz tak jak MoonWolf napisał (i tak sie powinno robic). Jeśli chcesz zrobic swoim sposobem, powinieneś napisac: (*p1).step = 1;

Reply to
radoslaw.stelmach

Użytkownik "MoonWolf" snipped-for-privacy@polbox.com napisał w wiadomości news:fjb63r$ojn$ snipped-for-privacy@news.onet.pl...

Ewentualnie

(*p1).step = 1

Operator wyłuskania (*) ma niższy priorytet od operatorów dostępu . i ->.

Pozdrawiam, Przemek Szeremiota

Reply to
Przemysław Szeremiota

Przemysław Szeremiota denied rebel lies:

O właśnie - nie mogłem sobie tego przypomnieć (:)

Reply to
MoonWolf

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.