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



Teraz jest 20 mar 2026, o 00:25


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
Autor Wiadomość
PostNapisane: 26 sty 2016, o 17:24 
Offline
Użytkownik

Dołączył(a): 27 wrz 2015
Posty: 33
Pomógł: 0

Witam

Oglądałem poradniki Mirka na temat callbacków i wskaźników, ale pojawia się teraz takie pytanie.

W poradniku na temat CALLBACK - SUPER ENCODER AVR mirek powołuje sobie wskaźnik na funkcję oraz powołuje tak samo funkcję do rejestracji funkcji zwrotnej.


...
enc_callback(ecnt*-1,ecnt*res);

A w obsłudze podczerwieni w zielonej książce zasada jest taka sama tylko w zdarzeniu wywołuje się naszą funkcję przez wkaźnik tak
...
(*ir_event_callback)(adress, command, key_time );

Dlaczego stosujemy tutaj gwiazdke a w drugim przypadku nie ???

Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 sty 2016, o 18:11 
Offline
Użytkownik

Dołączył(a): 12 sty 2015
Posty: 80
Lokalizacja: Grudziądz
Pomógł: 2

Dajesz gwiazdke, gdyż jest to wskaźnik do funkcji - "kierujesz" callbacka do funkcji. Później już jest przekierowany, więc po prostu wywołujesz funkcję callbacka.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 sty 2016, o 19:09 
Offline
Użytkownik

Dołączył(a): 27 wrz 2015
Posty: 33
Pomógł: 0

Nie rozumiem mirek stosuje taki sam mechanizm a w jednym przypadku daje gwiazdkę a w innym nie o co tu chodzi :?:



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 sty 2016, o 19:11 
Offline
Użytkownik

Dołączył(a): 20 lip 2015
Posty: 83
Pomógł: 6

Przy wywoływaniu wskaźnika do funkcji nie ma znaczenia z punktu widzenia programisty czy użyjesz func(parameter) czy (*func)(parameter).

Działanie jest takie samo, bo i kompilator sprowadza to do takiej samej postaci :) Ma to zastosowanie tylko w przypadku wskaźników na funkcję, ponieważ w przypadku zwykłych wskaźników na zmienne jest już inaczej.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 sty 2016, o 21:02 
Offline
Moderator
Avatar użytkownika

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

marmur napisał(a):
Przy wywoływaniu wskaźnika do funkcji nie ma znaczenia z punktu widzenia programisty czy użyjesz func(parameter) czy (*func)(parameter).

I o tym to już bodajże chyba nawet w Bluebooku wspominam

wskaźnik na funkcję jest po prostu adresem tej funkcji - więc dlatego nie ma tu już znaczenia czy użyjemy gwiazdki czy nie

_________________
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  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Google [Bot] i 2 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:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO