do koszyka |
do koszyka |
do koszyka |
do koszyka |
do koszyka |
do koszyka |
do koszyka |
do koszyka |
do koszyka |
KURS JĘZYKA C++ PODSTAWY
00. Informacje ogólne - wstęp 01. Praca z konsolą - początki - cout 02. Zmienne (int, float, double) 03. Konsola cd. - cin 04. Zmienne tekstowe - (char, string) 05. Operatory 06. Instrukcje warunkowe (if - else, switch - case) 07. Pętle (for, while) 08. Instrukcje warunkowe cd. 09. Break, Continue 10. Funkcje 11. Zakresy ważności 12. Tablice zmiennych 13. Mała powtórka :))) 14. Struct - struktury 15. String, Vector - wstęp do STL 16. Wskaźniki, referencje 16a. Wskaźnik do typów prostych 16b. Wskaźnik do funkcji 16c. Operatory new i delete 16d. Referencje 17. Pliki źródłowe i nagłówkowe Zadania powtórzeniowe 18. Class - klasy 19. Konstruktor , destruktor 20. Argumenty domyślne, przeciążanie (przeładowanie) funkcji i operatorów C++ FAQ: 01. Operacje na plikach, odczyt/zapis02. Nie działa mi polecenie gotoxy() co robić ? 03. Jaki podręcznik do nauki C++ ? ostatnia aktualizacja: 29.08.2005 WSKAŹNIKI, REFERENCJE
Co to właściwie jest, do czego może nam się przydać ?
Jak sama nazwa sugeruje wskaźnik służy do "wskazywania" :) (referencja to "przezwisko" wskaźnika). Wyobraź sobie szafkę wypełnioną słoikami z kompotami. Stoi ich tam cała masa różne wielkości słoików różne kolory i oczywiście brak karteczek z opisami co w poszczególnych słojach się znajduje... I wtedy ktoś niskiego wzrostu mówi Ci: podaj mi TEN słoik. W tym momencie pojawia się spory problem bo właściwie skąd możemy wiedzieć o który słoik "temu komuś" może chodzić. Nawet jeśli dodatkowo sprecyzuje nam np: z czereśniami. Jesteśmy już bliżej celu ale to jeszcze nie to, kilka słoików ma czerwoną zawartość, jeśli przyjrzymy się dokładnie to być może rozpoznamy, że w niektórych są truskawki (te odpadają od razu) ale co jeśli jest tam kilka słoików z np. wiśniami? No właśnie to jest problem, oczywiście możemy po kolei wskazywać każdy słoik i pytać: czy to ten? Nie jest to może najlepsza metoda ale zawsze coś, najprościej było by dać tej niskiej osobie jakiś kijek (wskaźnik) i powiedzieć: pokaż o który słoik ci chodzi. Poprzednio poznaliśmy coś takiego jak tablice, np. int it_dane[100]; tablica 100 elementów typu int. Aby gdzieś w tej tablicy umieścić jakąś daną stosowaliśmy zapis: it_dane[miejsce gdzie chcemy wpisać] = 33; Jest to postać jak najbardziej poprawna ale czasem mało wygodna w stosowaniu. Właśnie tu z pomocą przychodzą nam wskaźniki (teraz się wyjaśni po co było to całe gadanie o słoikach z kompotami :) ). Tworzenie wskaźnika: int *pi_Dana; - najpierw podajemy typ danej do jakiej tworzymy wskaźnik (tutaj int) następnie wpisujemy znak * (gwiazdka) i na końcu nazwę naszego wskaźnika. Tworzenie wskaźnika od tworzenia zmiennej różni się tylko tą "dodatkową" gwiazdką właśnie ona informuje nas (i kompilator) że to jest wskaźnik a nie zwykła zmienna. Do tak utworzonego wskaźnika możemy teraz przypisać konkretną wartość: pi_Dana = it_dane+49; Teraz wskaźnik pi_Dana "wskazuje" nam w pamięci na konkretną daną (50 element tablicy it_Dane), dzięki temu mamy do niej bezpośredni dostęp. Być może na chwilę obecną wskaźniki nie wydają nam się niczym ciekawym ani pomocnym ale jeśli tylko zagłębimy się bardziej w tajniki programowania okaże się jak istotną częścią każdego programu są wskaźniki. Wskaźnik możemy utworzyć do dowolnego typu danych czy to prostych np: int, float czy też bardziej złożonych obiektów typu struct, można także tworzyć wskaźniki do funkcji :). Właściwie to można utworzyć wskaźnk do praktycznie wszystkiego, wskaźnik pokazuje na konkretne miejsce w pamięci komputera nie konkretny obiekt, dopiero jasno określając typ wskaźnika "informujemy go" co pokazuje. Możliwe jest także utworzenie wskaźnika uniwersalnego który może pokazywać na "cokolwiek" :). Po za tym wskaźniki są potrzebne przy dynamicznym przydzielaniu pamięci dla naszego programu (nie zawsze jesteśmy w stanie przewidzieć przy pisaniu ile program będzie potrzebował pamięci czasem w trakcie jego działania trzeba mu przydzielić więcej zasobów). Omówmy teraz dokładniej wspomniane powyżej zastosowania wskaźników: |
|