ATNEL tech-forum https://forum.atnel.pl/ |
|
Lista dwukierunkowa - kilka pytań https://forum.atnel.pl/topic23278.html |
Strona 1 z 1 |
Autor: | Nef.ID [ 29 lip 2020, o 20:33 ] |
Tytuł: | Lista dwukierunkowa - kilka pytań |
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: język c Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. oraz np. 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: język c Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. Oraz dalej: 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: 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. |
Autor: | mirekk36 [ 29 lip 2020, o 21:13 ] |
Tytuł: | Re: Lista dwukierunkowa - kilka pytań |
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 |
Autor: | Nef.ID [ 29 lip 2020, o 21:31 ] |
Tytuł: | Re: Lista dwukierunkowa - kilka pytań |
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. |
Autor: | Jarecki [ 30 lip 2020, o 06:55 ] |
Tytuł: | Re: Lista dwukierunkowa - kilka pytań |
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ć |
Autor: | fofex [ 30 lip 2020, o 07:18 ] |
Tytuł: | Re: Lista dwukierunkowa - kilka pytań |
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 |
Strona 1 z 1 | Strefa czasowa: UTC + 1 |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |