Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 9 maja 2024, o 23:29


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
Autor Wiadomość
PostNapisane: 7 cze 2013, o 11:03 
Offline
Nowy

Dołączył(a): 28 mar 2013
Posty: 5
Pomógł: 0

Witam

W temacie: http://mirekk36.blogspot.com/2012/10/ob ... a-cd3.html
jest funkcja do której przekazujemy strukturę za pomocą wskaźnika:
void key_press( TBUTTON * btn )
potem w tej funkcji w sposób łatwy i przyjemny zapisujemy lub odczytujemy wartości z tej struktury za pomocą strzałki:
btn->flag=1;

Próbuje to zrobić w analogiczny sposób ale już w pętli głównej definiując strukturę, przekazując adres struktury do wskaźnika a potem odwoływać się do struktury za pomocą tych strzałek lecz kompilator zwraca błędy, bo robię coś źle.

Może ktoś podpowie jak powinien wyglądać prawidłowy zapis?
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Podkreśla na czerwono: a=wsk->test1;

Z góry dziękuję za pomoc



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 cze 2013, o 11:10 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 maja 2013
Posty: 568
Zbananowany użytkownik

Pomógł: 31

A nie powinno być zamiast:
uint8_t *wsk;
to:
stTest *wsk;
?

_________________
Und schreien

Spring
Erlöse mich
Spring
...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 cze 2013, o 13:21 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lis 2011
Posty: 265
Lokalizacja: Szczecin
Pomógł: 9

Jak korzystasz ze struktur w funkcji i struktura zastałą przekazana do funkcji, to do pól struktury odwołujesz się poprzez strzałki.

W Twoim przypadku do pól struktury odwołujesz się poprzez "kropkę". Czyli a=wsk.test1

------------------------ [ Dodano po: 30 minutach ]

Za szybko przeczytałem i nie na temat odpowiedziałem. Kolega PROTON dobrze mówi :) Sprawdzałem kompiluje się :)

_________________
www.iuvo.it - Automatyka Budynkowa



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 cze 2013, o 19:45 
Offline
Nowy

Dołączył(a): 28 mar 2013
Posty: 5
Pomógł: 0

Witam
To co przedstawił PROTON działa:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Tylko jeszcze jedno pytanie. Ten zapis: stTest *wsk;
rezerwuje dla wskaźnika te dwa tradycyjne bajty czy tyle ile zajmuje struktura? W tym przypadku 3.

Dzięki pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 cze 2013, o 19:46 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27235
Lokalizacja: Szczecin
Pomógł: 1041

przemek napisał(a):
stTest *wsk;


przecież to jest definicja wskaźnika - a to co po lewej to tylko pomocnicza informacja dla kompilatora jaki jest jego typ. Zatem tak jak ZAWSZE definicja wskaźnika to DWA bajty

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 cze 2013, o 12:00 
Offline
Nowy

Dołączył(a): 28 mar 2013
Posty: 5
Pomógł: 0

Witam,
Wszystko już jasne!
Dziękuję za pomoc!



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 14 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO