• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Wiarygodność przemyśleń

0 głosów
299 wizyt
pytanie zadane 1 maja 2020 w C i C++ przez Young_engineer Początkujący (340 p.)
Chciałbym ,żeby ktoś mi powiedział czy mój tok myślenia jest właściwy, bo jak się statwia własne przemyślenia do których się przyzwyczai i okazują się nieprawdą to trudno się przestroić. Mianowicie wyobrażam sobie ,że wskaźnik to taka szuflada w której można przechowywać normalne dokumenty (czyli różne wartości), segrekatory z dokumentami (czyli tablice) i adresy dokumentów z innego regału który nie jest wskaźnikiem

2 odpowiedzi

0 głosów
odpowiedź 2 maja 2020 przez veron_v Obywatel (1,360 p.)
Hejka. Widziałeś już ten film ?
https://youtu.be/0DQl74alJzw

Może w tym materiale uzyskasz odpowiedź a bynajmniej podpowiedź.
komentarz 2 maja 2020 przez Young_engineer Początkujący (340 p.)
Oglądałem ten film i było ,że przy pomocy wskaźnika można zrobić tablicę o ustalonej liczbie elementów i pytanie jest takie czy w wskaźniku można przechowywać np. wartości liczbowe a nie tylko same adresy zmiennych. Przypuszczam ,że można ,ale tylko przypuszczam, bo do tej pory w filmiku nie było to sprecyzowane.
1
komentarz 2 maja 2020 przez DragonCoder Nałogowiec (36,500 p.)

Wskaznik, jak sama nazwa mow, wskazuje na co. Wskazuje on na adres do danej zmiennej, obiektu, struktury danych itd.

Oglądałem ten film i było ,że przy pomocy wskaźnika można zrobić tablicę o ustalonej liczbie elementów i pytanie jest takie czy w wskaźniku można przechowywać np. wartości liczbowe a nie tylko same adresy zmiennych. Przypuszczam ,że można ,ale tylko przypuszczam, bo do tej pory w filmiku nie było to sprecyzowane.

Nie, wskaznik nie przechowywuje samej wartosci zmiennej, bo po co wtedy bylby ten mechanizm, skoro mozna uzyc zwyklej zmiennej? Dlatego wskaznik przechowuje tylko adres zmiennej, ale dzieki temu adresowi mozesz odczytac wartosc danej zmiennej, bo wiesz gdzie w pamiecii lezy. Ma to swoje plusy jak i minusy, ale nie o to bylo pytanie.

Tak w jezyku C++ mozesz utworzyc tablice, przy pomocy wskaznikow, tzn robisz wskaznik na typ danych i zawiera on x elementow. Aczkolwiek uzywanie suchych wskaznikow w jezyku C++ nie jest wskazane, czy odradza sie ich uzywanie i zastapienie smart pointerami. Oprocz tego jezyk C++ dostarcza Ci kontenery, ktore juz same  w sobie umozliwiaja dynamiczna alokaje pamiecii, przez co tworzenie dynamicznych tablic przez wskazniki, traci na wartosci/sensie.

//wskazniki
int tab = new int [20]; //tworzysz tablice int z 20 elmentami

//dynamiczne kontenery
std::vector <int> tab (20); //vector o poczatkowej ilosci 20 elementow, ale
//mozesz go rozszerzyc o dalsze elementy


oprocz std::vector mozesz uzyc innych struktur danych np:

std::tuple <typDanych1, typDanych2 ...> nazwa;
https://de.cppreference.com/w/cpp/utility/tuple

std::pair <typDanych1, typDanych2> nazwa;
https://en.cppreference.com/w/cpp/utility/pair

std::map <typDanych1, typDanych2> nazwa;
http://www.cplusplus.com/reference/map/map/map/

std::list <typDanych> nazwa;
https://en.cppreference.com/w/cpp/container/list

jest jeszcze std::array. Ale wracajac, jak widac kazdy z tych typow danych ma swoje plusy i minusy, i kazdy mozna kombinowac. Tzn do listy moge dodac std::tuple itd. Warto jest poczytac o tych strukturach danych i ich mozliwosciach i dowiedziec sie, kiedy warto ich uzywac, bo czasami ulatwia to prace

komentarz 2 maja 2020 przez Young_engineer Początkujący (340 p.)

Dziękuję za opwiedźyes

0 głosów
odpowiedź 2 maja 2020 przez Piotr Batko Stary wyjadacz (13,210 p.)

Wskaźnik Dokument* może przechowywać tylko adres Dokumentu. Nie może przechowywać żadnych Dokumentów ani tablic Dokumentów[16]. Dokumenty leżą sobie gdzieś w pamięci, a wskaźniki tylko na nie wskazują.

Nie znaleziono podobnych pytań

93,733 zapytań

142,669 odpowiedzi

323,287 komentarzy

63,294 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...