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



Teraz jest 25 kwi 2026, o 14:33


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
Autor Wiadomość
PostNapisane: 6 maja 2014, o 23:34 
Offline
Nowy

Dołączył(a): 09 sty 2014
Posty: 23
Pomógł: 0

Witam,

Mam problem ze zrozumieniem kawałka kodu, konkretnie ze postu http://mirekk36.blogspot.com/2012/10/ob ... w-cd2.html . Przedstawiam cały kod a pod nim to, czego konkretnie nie rozumiem.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Głównie chodzi o przekazanie argumentu do funkcji: void (*kfun)(void)
o następnie o warunek: if(kfun) kfun();

O co chodzi w zapisie przekazywania funkcji do funkcji, jaką rolę odgrywa krzyżyk? I nie mogę zrozumieć na czym polega warunek. Jak on działa?

I czy nie prościej zapisać te funkcję po prostu tak:

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 maja 2014, o 01:22 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 05 sie 2013
Posty: 1154
Lokalizacja: Lublin / Kraków
Pomógł: 72

deathes napisał(a):
jaką rolę odgrywa krzyżyk?


Jaki krzyżyk ?
Chodzi Ci o "++" operator inkrementacji ?



deathes napisał(a):
void (*kfun)(void)


Zobacz to:
http://forum.atnel.pl/topic2783.html


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 maja 2014, o 04:28 
Offline
Moderator
Avatar użytkownika

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

deathes napisał(a):
Głównie chodzi o przekazanie argumentu do funkcji: void (*kfun)(void)
o następnie o warunek: if(kfun) kfun();


A Bluebooka: http://atnel.pl/mikrokontrolery-avr-jezyk-c.html kolega posiada ? Coś czuję, że chyba nie - bo tam jest to opisane a dodatkowo jeszcze wiele innych ważnych rzeczy ... ale ok

if( kfun ) .... // sprawdzamy czy został na pewno przekazany wskaźnik, czy nie jest on przypadkiem = ZERO


deathes napisał(a):
O co chodzi w zapisie przekazywania funkcji do funkcji, jaką rolę odgrywa krzyżyk?


Też nie wiem o jaki krzyżyk chodzi (tak jak kolega wyżej)

deathes napisał(a):
I czy nie prościej zapisać te funkcję po prostu tak:


Przecież na tym blogu w tym samym artykule, masz wyżej DOKŁADNIE taką uproszczoną wersję. Więc o co chodzi tym pytaniu ? ... hmmm no chyba o to, że nie rozumiesz po co są te operacje ze wskaźnikiem i przekazywaniem funkcji .... wtedy może i to pytanie ma sens. Ale na prawdę proponuję ci poczytać Bluebooka a w nim o wskaźnikach ale też o wskaźnikach do funkcji i przykładach jak to stosować w praktyce ... bo coś mi się zdaje że masz tu ogromną lukę ...

podpowiem tylko że po to pokazałem w kolejnym przykładzie takie zastosowanie wskaźnika do funkcji aby można było mieć jeszcze większe możliwości a to dzięki temu że programista może na etapie wywoływania funkcji decydować co ona zrobi! .... bo sam mówi (tzn przekazuje jeszcze inną funkcję która ma się w niej wykonać)

_________________
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: 7 maja 2014, o 09:23 
Offline
Nowy

Dołączył(a): 09 sty 2014
Posty: 23
Pomógł: 0

Dziękuję za pomoc. Bluebooka posiadam, jednak widocznie nie doczytałem jeszcze. :) pozdrawiam



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: 4 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 5 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