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 2 sie 2025, o 09:30


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 
    Autor Wiadomość
    PostNapisane: 22 mar 2016, o 15:16 
    Offline
    Użytkownik

    Dołączył(a): 09 cze 2013
    Posty: 34
    Pomógł: 0

    Witam,

    Mam pewien problem ze zrozumieniem zapisu int **b.
    Jak ze zrozumieniem pojedynczego wskaźnika nie mam problemu int *b :
    b - to adres gdzieś w pamięci
    *b - to wartość na jaką ten adres wskazuje,
    To zapis **b nie jest dla mnie do końca jasny.
    np. napisałem sobie dla zrozumienia tematu funkcję która ma przypisać jakiś adres do wskaźnika, który jest na początku NULL:

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


    printy wyświetlają :

    adress w funkcji to 0x7ffd61cb0b80
    adress w funkcji to 0x8000000
    adress poza funkcją to 0x8000000

    Moje pytanie, czy dobrze rozumiem poszczególne zapisy:
    b - adres komórki pamięci która przechowuje adres 0x08000000
    *b - nasz adres 0x08000000
    czym w takim razie jest zapis **b - ?
    Czy **b jest to zapis tylko na potrzeby deklaracji ?

    Proszę o wytłumaczenie mi tego, wprawdzie powyższa funkcja działa tak jak chciałem ale czuję, że nie do końca rozumiem temat z wieloma gwiazdkami. Już nie wspomnę o zapisie ***b ;)

    Z góry dzięki



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 22 mar 2016, o 15:49 
    Offline
    Użytkownik

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

    Wskaźnik, to zmienna prawie jak każda inna, tylko wartością przechowywaną jest adres w pamięci, ale to już wiesz.

    Zatem wskaźnik na wskaźnik (**b) to nic innego jak przechowywanie adresu zmiennej wskaźnikowej, działa to analogicznie jak normalny wskaźnik na zwykłą zmienną :)

    Czasem się tego używa gdy potrzebujesz np. adres wskazujący na tablicę, która jak wiadomo również jest zestawem wskaźników.


    Autor postu otrzymał pochwałę


    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 23 mar 2016, o 07:58 
    Offline
    Użytkownik

    Dołączył(a): 09 cze 2013
    Posty: 34
    Pomógł: 0

    Dzięki, teraz jest to dla zrozumiałe :)



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

    Strefa czasowa: UTC + 1


    Kto przegląda forum

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