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



Teraz jest 19 kwi 2024, o 00:37


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
Autor Wiadomość
 Tytuł: Sterowanie UDP.
PostNapisane: 3 cze 2012, o 15:55 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 lis 2011
Posty: 302
Lokalizacja: Kraków
Pomógł: 6

Dzień dobry.
Podczas czytania książki dotarłem do takiego zapisu:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
następnie:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Dlaczego przy jednym jest operator pobrania adresu "&", a przy drugim nie ma.
Mnie się wydaje, ze nie powinno go być gdyż. Tak jak było napisane w książce nazwa funkcji jest równoznaczna z jej wskaźnikiem[funkcja SuperDebounce].

Proszę o odpowiedź.

_________________
Zapraszam:
filiporlo.blogspot.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 cze 2012, o 16:24 
Offline
Moderator
Avatar użytkownika

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

Wskaźnik na funkcję to specyficzny twór, z tego względu gdy np przekazujemy wskaźnik do jakiejś funkcji - nie ma znaczenia czy będzie operator pobrania adresu & czy też go nie będzie. Zawsze zadziała to dobrze.

Zwróć proszę uwagę na pewną drobną różnicę, wskaźnik na funkcję jest dlatego troszkę odmiennie traktowany od wskaźnika na zmienną ponieważ poniższe dwa zapisy będą miały całkiem różne rezultaty:

Kod:
tab[i]

&tab[i]


prawda ? W pierwszym przypadku otrzymamy wartość konkretnego elementu tablicy, a w drugim przypadku otrzymamy adres tego elementu tablicy czyli wskaźnik na niego

za to w przypadku funkcji nie ma takiej dwoistości, i to co było napisane w książce na co się powołałeś wyżej, mówi właśnie o tym, że normalnie powinno się stosować zapis

Kod:
&fun


gdy chcemy przekazać ją jako parametr, ale że nazwa funkcji jest równoznaczna ze wskaźnikiem na nią samą to można pominąć ten parametr pobierania adresu. Można - ale - nie trzeba koniecznie. Dlatego obydwa przypadki są poprawne z punktu widzenia syntaktyki języka C.


Autor postu otrzymał pochwałę

_________________
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: 3 cze 2012, o 16:49 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 lis 2011
Posty: 302
Lokalizacja: Kraków
Pomógł: 6

Czyli można korzystać wymiennie?
Bez żadnych błędów i Warningów.
Po prostu kompilator to sobie i tak czy siak tak samo zinterpretuje.
Dziękuję za pomoc.
Tak właśnie myślałem jednak chciałem się upewnić.
Bo bardzo spodobał mi się właśnie taki sposób wywoływania funkcji jako argument innej.

_________________
Zapraszam:
filiporlo.blogspot.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 cze 2012, o 17:44 
Offline
Moderator
Avatar użytkownika

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

No własnie można ;) - jak napisałem wyżej.

_________________
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: 3 cze 2012, o 17:45 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 lis 2011
Posty: 302
Lokalizacja: Kraków
Pomógł: 6

Jeszcze raz dziękuję za wyczerpującą odpowiedź.

_________________
Zapraszam:
filiporlo.blogspot.com



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ł: Brak zidentyfikowanych użytkowników i 6 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