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 w 2025? 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 26 kwi 2025, o 17:21


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 11 ] 
    Autor Wiadomość
    PostNapisane: 30 paź 2018, o 19:53 
    Offline
    Użytkownik

    Dołączył(a): 28 maja 2016
    Posty: 469
    Lokalizacja: Katowice
    Pomógł: 1

    Cześć. napisałem krótki kod i chciałem zamiast zwykłej zmiennej użyć wskaźnika. Robię to pierwszy raz, więc nie mam pewności czy robię to poprawnie.
    Zdeklarowałem sobie wskaźnik:
    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 w pętli głównej przypisuję zmienną "x" do mojego wskaźnika:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    A następnie podmieniam w funkcji "sok() pierwszy argument funkcji:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



    Czy o to chodzi we wskaźnikach? zrobiłem to poprawnie?

    Poniżej jest cały mój kod dla zorientowania się co w nim robię :)


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

    _________________
    Nikt nie mówił,że będzie łatwo...



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 30 paź 2018, o 20:01 
    Offline
    Moderator
    Avatar użytkownika

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

    wskaźnik to jest TYLKO ADRES w pamięci RAM !

    a ty definiujesz wskaźnik ale go nie INICJALIZUJESZ - czyli twój wskaźnik *g nie wskazuje na ŻADEN adres - jest = ZERO

    więc jak chcesz coś zapisać pod adres ZERO ?

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


    ???

    to niestety nie ma SENSU

    jak definiujesz wskaźnik - to zainicjalizuj go np

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


    wtedy będzie twój przykład działał - i będziesz odwoływał się do zmiennej abc poprzez wskaźnik *g

    ------------------------ [ Dodano po: 1 minucie ]

    zajrzyj do Bluebooka i zobacz na rysunki w rozdziale gdzie tłumaczę wskaźniki


    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: 30 paź 2018, o 20:18 
    Offline
    Użytkownik

    Dołączył(a): 28 maja 2016
    Posty: 469
    Lokalizacja: Katowice
    Pomógł: 1

    dziękuję za podpowiedź. Czy teraz dobrze zadeklarowałem wskaźnik?

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


    i czy dobrze go wpisałem w funkcji, w pętli while? Czy to oto chodzi? :)
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    _________________
    Nikt nie mówił,że będzie łatwo...



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 30 paź 2018, o 20:34 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 01 lis 2015
    Posty: 1448
    Lokalizacja: okolice Warszawa
    Pomógł: 149

    teraz to tak. :)
    możesz zrobić jeden krok do przodu,
    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: 30 paź 2018, o 20:40 
    Offline
    Użytkownik

    Dołączył(a): 28 maja 2016
    Posty: 469
    Lokalizacja: Katowice
    Pomógł: 1

    no i znów mi Dareczek komplikuje życie;)))))
    Czyli powinienem używać Twojego zapisu? jest bardziej poprawny od mojego? domyślam się ,że Twój przykład działa tak samo jak mój. Tak więc który sposób jest poprawniejszy? w którym przykładzie kod szybciej się wykona?

    ------------------------ [ Dodano po: 15 minutach ]

    Darku , coś jest nie tak z Tym Twoim fragmentem, ponieważ mi krzaczy

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


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


    ------------------------ [ Dodano po: 28 minutach ]

    aaa już wiem co zrobiłem źle. w deklaracji funkcji, przed mainem też powinienem dopisać "gwiazdki" w nawiasie.

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


    i teraz wszystko śmiga.
    Dzięki Darek :)

    _________________
    Nikt nie mówił,że będzie łatwo...



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 30 paź 2018, o 21:16 
    Offline
    Moderator
    Avatar użytkownika

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

    wojciechgorzolka napisał(a):
    int sok (int *a , int *b){
     
            int suma;
     
            suma = *a - *b  ;
     
            return suma;
    }

    ja tobie proponuję rób próby a nie teoretyzuj - to sam szybo zobaczysz, że to nie zadziała i pomyślisz jak to naprawić

    _________________
    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: 30 paź 2018, o 21:23 
    Offline
    Użytkownik

    Dołączył(a): 28 maja 2016
    Posty: 469
    Lokalizacja: Katowice
    Pomógł: 1

    teraz już mi działa :)

    _________________
    Nikt nie mówił,że będzie łatwo...



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 30 paź 2018, o 21:52 
    Offline
    Moderator
    Avatar użytkownika

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

    wojciechgorzolka napisał(a):
    teraz już mi działa :)

    warto pokazać dla potomnych coś poprawił bo tak - to kto to wie czy działa 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  
    PostNapisane: 30 paź 2018, o 21:59 
    Offline
    Użytkownik

    Dołączył(a): 28 maja 2016
    Posty: 469
    Lokalizacja: Katowice
    Pomógł: 1

    ok, już wrzucam poprawiony i dobrze działający kod.
    W linijce 38 dokonałem zmian.
    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    _________________
    Nikt nie mówił,że będzie łatwo...



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 31 paź 2018, o 08:35 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 01 lis 2015
    Posty: 1448
    Lokalizacja: okolice Warszawa
    Pomógł: 149

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

    Jakiego typu jest port, a jaki typ zwraca funkcja. :/

    Wysłane z mojego Lenovo K33a42 przy użyciu Tapatalka



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 31 paź 2018, o 09:28 
    Offline
    Użytkownik

    Dołączył(a): 28 maja 2016
    Posty: 469
    Lokalizacja: Katowice
    Pomógł: 1

    Zwracam int. A jak dobrze rozumiem, to PORTC jest jony8_t. Dobrze rozumuję?

    _________________
    Nikt nie mówił,że będzie łatwo...



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

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników 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:  
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO