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

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 10 lip 2025, o 15:23


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 10 ] 
    Autor Wiadomość
    PostNapisane: 11 cze 2020, o 21:47 
    Offline
    Użytkownik

    Dołączył(a): 07 lut 2015
    Posty: 157
    Pomógł: 2

    Witam,
    tak żeby rozruszać towarzystwo, mam pytanie na które nie umiem odpowiedzieć:

    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.

    oraz:

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

    Pytanie, dlaczego tylko warunek if z strlen działa, pozostałe nie?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 cze 2020, o 22:11 
    Offline
    Użytkownik

    Dołączył(a): 05 wrz 2017
    Posty: 169
    Pomógł: 31

    Taki kod też zadziała, myślę że to jednocześnie tłumaczy o co chodzi (chyba że jest już na tyle późno że mi się coś pokićkało) :)
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Autor postu otrzymał pochwałę


    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 cze 2020, o 22:33 
    Offline
    Użytkownik

    Dołączył(a): 07 lut 2015
    Posty: 157
    Pomógł: 2

    Abel11 brawo, brawisimo.

    Sposób 1 i 3 OK.
    Sposób 2 nie działa.

    Nie pomyślałem, aby nawiasy kwadratowe, bo mamy do czynienia z tablicą, dać na końcu, a nie po wskaźniku na tablicę.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 cze 2020, o 22:45 
    Offline
    Użytkownik

    Dołączył(a): 05 wrz 2017
    Posty: 169
    Pomógł: 31

    Przepraszam moje gapiostwo w 2 przykładzie zapomniałem o gwiazdce miało być
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Po prostu najpierw trzeba z wskaźnika na strukturę wybrać tablicę i dopiero wtedy wybierać element tablicy, pewnie z rozpędu zapomniałeś że to struktura i poleciałeś jak z tablicami.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 cze 2020, o 22:47 
    Offline
    Moderator
    Avatar użytkownika

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

    Nef.ID napisał(a):
    Nie pomyślałem, aby nawiasy kwadratowe

    Zapomniałeś przede wszystkim o strzałce "->" aby odwoływać się do pól struktury przez wskaźnik

    _________________
    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: 11 cze 2020, o 23:43 
    Offline
    Użytkownik

    Dołączył(a): 07 lut 2015
    Posty: 157
    Pomógł: 2

    Tylko teraz myślę, że nie o to mi chodziło.
    Co to jest np. wsk->tel[0] czy (*wsk).tel[0] ?
    Czy to nie pokazuje na pierwszy element tablicy lista ( lista[0] ) i pierwszy znak w tablicy tel ( tel[0] )?

    Przypomnę, wsk pokazuje u mnie na lista[10].

    Ja chciałem sprawdzać po kolei, czy lista[0].tel ==0, lista[1].tel ==0 itd.

    A jak sprawdzić czy czwarty element tablicy lista np. lista[3] ma tel[0] zero ?
    Chyba jednak nie tym warunkiem:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    ------------------------ [ Dodano po: 2 minutach ]

    W podanym przeze mnie z początku przykładzie było wsk[0], ale w domyśle chodziło o wsk[1], wsk[2] itd.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 12 cze 2020, o 08:08 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 29 lis 2019
    Posty: 145
    Pomógł: 37

    Nef.ID napisał(a):
    Pytanie, dlaczego tylko warunek if z strlen działa, pozostałe nie?

    Ponieważ do porównania bierzesz wskaźnik na zmienną zamiast wartości zmiennej.

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


    Cytuj:
    A jak sprawdzić czy czwarty element tablicy lista np. lista[3] ma tel[0] zero ?


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

    _________________
    Think for yourself and question authority.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 12 cze 2020, o 14:44 
    Offline
    Użytkownik

    Dołączył(a): 05 wrz 2017
    Posty: 169
    Pomógł: 31

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

    W taki sposób mam nadzieje będzie to nieco czytelniejsze.
    Jeśli za wsk dasz nawiasy klamrowe to poinformujesz kompilator, że adres pierwszego elementu tablicy (w zmiennej wsk) chcesz powiększyć o jakiś offset, dlatego nie dajesz tu strzałki.

    Bardzo pomocne do nauki takich zagadnień jak wskaźniki, callbacki, struktury i tablice może być zainstalowanie np. MPLABX IDE, albo jakiegokolwiek innego symulatora który pozwoli na obserwacje zmiennych i komórek pamięci. Tworzysz projekt, wybierasz prace na symulatorze, bierzesz BB w garść od strony 145 masz tablice dalej wskaźniki i możesz zobaczyć jak się zmieniają zmienne w zależności co jak pozmieniasz.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 12 cze 2020, o 21:05 
    Offline
    Użytkownik

    Dołączył(a): 07 lut 2015
    Posty: 157
    Pomógł: 2

    Wiecie co, zmylił mnie właściwie zapis "tablicowy" wskaźników i przez to zapomniałem o tej gwiazdce.

    Co w sumie jest istotne, bo raz mamy wskaźnik, a raz wartość pokazywaną wskaźnikiem.

    Pozdrowienia.

    ------------------------ [ Dodano po: 42 minutach ]

    A kompilator się nie obrażał.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 13 cze 2020, o 06:31 
    Offline
    Moderator
    Avatar użytkownika

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

    bo nie ma żadnej różnicy jak traktujesz wskaźnik. Raz może on być wskaźnikiem a raz tablicą ;) że tak powiem

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


    można z niego korzystać i tak:

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


    ale też i tak

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


    wszystko zależy jak wygodniej w kodzie

    _________________
    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: 10 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

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


    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