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



Teraz jest 29 mar 2024, o 02:01


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
Autor Wiadomość
PostNapisane: 29 lip 2020, o 20:33 
Offline
Użytkownik

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

Witam,
tak dla rozruszania kilku głów mam ostatnio taki problem,
chciałbym stworzyć sobie listę dwukierunkową typu słownik tak jakby to powiedzieli ci z C++.
Aby nie wywarzać otwartych drzwi zajrzałem, co mówi google.
Oczywiście jest wiele gotowców.
I np coś takiego:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

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

czyli wskaźnik do wskaźnika
Na innej stronie mamy inny przykład:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

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

Czyli referencję do wskaźnika.
Oczywiście są też normalni, którzy nie korzystają ze wskaźników do wskaźników czy referencji:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Pytanie może moje jest głupie jak but, ale nie mogę zrozumieć tych autorów (powyżej przytaczanych), dlaczego, a może jest jakiś powód, że te wskaźniki do wskaźników czy referencja do wskaźników, a nie prościej.
Zaznaczam, że węzły są tworzone dynamicznie.
Czy ktoś umiałby mi to wytłumaczyć.
Pytanie drugie do Mirka, jak nas słucha. Nigdy nie robiłeś ** czy *&, ani nie korzystałeś z malloc().Dlaczego, rozumiem tych z C++, bo mają new?

------------------------ [ Dodano po: 17 minutach ]

P.S. przykłady były z listy jednokierunkowej, ale tym się nie sugerować proszę.

------------------------ [ Dodano po: 30 minutach ]

Jutro przeproszę Pana Grębosza Jerzego i zajrzę do jego książki Pasja C++.

------------------------ [ Dodano po: 36 minutach ]

To co napisane w C można przenieść do C++, ale odwrotnie to chyba nie.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 lip 2020, o 21:13 
Offline
Moderator
Avatar użytkownika

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

Nef.ID napisał(a):
Nigdy nie robiłeś **

to pytanie czy stwierdzenie ? ;) bo wygląda na stwierdzenie - i nie wiem na podstawie czego. Już w Bluebooku pokazuję przykład funkcji strtok_r() gdzie używany jest wskaźnik do wskaźnika i dość łatwo to zrozumieć - ale pewnie nie zajrzałeś do przykładu.

Nef.ID napisał(a):
ani nie korzystałeś z malloc().Dlaczego,

To też nie widzę znaku zapytania ;) tylko na końcu - sugerujący że hmm nie wiem czy rozumiesz tych z C++ czy nie ?

Ja tam używałem malloc() w C choć rzadko - to zależy od potrzeb. A i na forum są fajne przykłady z malloc, poszukaj np kodów kolegi KRAUSER jak pokazał kod kalkulatora na wyświetlaczu TFT

_________________
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: 29 lip 2020, o 21:31 
Offline
Użytkownik

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

OK. już zaglądam do BB, jak również do kolegi Krauser-a.
Aczkolwiek są też pytania o te nie w pełni podane przykłady w zastosowaniu do listy.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 lip 2020, o 06:55 
Offline
Użytkownik

Dołączył(a): 23 sty 2014
Posty: 1079
Pomógł: 73

Witam,

listy to ciekawy temat i warto go dobrze zrozumieć, nie wiem czy zaglądałeś tutaj: http://www.embeddeddev.pl/menu-lcd-list ... ierunkowe/ ale autor tłumaczy po kolei co i jak na przykładzie menu na LCD. Polecam poczytać :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 lip 2020, o 07:18 
Offline
Użytkownik
Avatar użytkownika

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

Nef.ID napisał(a):
dlaczego, a może jest jakiś powód, że te wskaźniki do wskaźników

Powód jest taki, że w przykladzie 1. funkcja modyfikuje daną wskazującą na początek listy (nowe elementy dołączane są od głowy) i ją zwraca przez wskaźnik do parametru. Parametr jest wkaźnikiem więc powstaje dwupoziomowy wskaźnik.
Funkcja w przykładzie 3. nie modyfikuje głowy (nowe elementy dołączane są do ogona) więc nic nie zwraca. W tym przykładzie tkwi pułapka, mianowicie wywołanie funkcji na pustej liście spowoduje wywalenie się programu.
Przykład nr 2. wygląda na nonsens, ani to C ani Cpp

_________________
Think for yourself and question authority.



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