W dowolnym momencie można zmienić typ wskaźnika.

Wielkość: px
Rozpocząć pokaz od strony:

Download "W dowolnym momencie można zmienić typ wskaźnika."

Transkrypt

1 c++

2 Wskaźniki mają jeszcze jedną przydatną cechę. W dowolnym momencie można zmienić typ wskaźnika. Robi się to za pomocą operatora rzutowania.

3 Najpierw zdefiniujemy sobie wsk_uniwersalny mogący pokazywać na liczby long. Następnie zdefiniujemy sobie trzy zmienne różnych typów. Ustawimy nasz wskaźnik na zmienną typu long. Wszystko jest w porządku. Zarówno zmienna, jak i wskaźnik są tego samego typu. Jak myślisz, co się stanie, gdy podstawimy do wskaźnika zmienną innego typu? Kompilator wywali błąd

4 Jednakże są sytuacje kiedy zmiana typu wskaźnika jest przydatna. Zmiana, czyli konwersja zachodzi za sprawą operatora rzutowania. Taki operator, to nic innego, jak zwykły nawias stawiany przed konwertowanym typem, a zawierający określenie nowego typu.

5

6 (int *)wsk_uniwersalny; spowoduje, że wsk_uniwersalny, który był wskaźnikiem pokazującym na liczby long staje się wskaźnikiem do liczb Pamiętaj tylko, że w nawiasie należy jeszcze podać gwiazdkę. Informuje ona, że chodzi o wskaźnik, a nie o zmienną.

7 Stałe definiowaliśmy poprzedzając je słówkiem const. Stałe można było inicjalizować tylko podczas ich definicji. Wartość raz nadana nie mogła ulec zmianie. Wskaźnikami również można tak manipulować.

8 ć ż ś Zdefiniowaliśmy sobie dwie zmienne: x i y. Obie typu float. Następnie definiujemy stały wskaźnik wsk mogący pokazywać na obiekty typu float i od razu go inicjalizujemy (inicjalizacja stałego wskaźniku musi nastąpić podczas jego definiowania) stałego wskaźnika nie można ustawić nawet na ten sam obiekt - linijka: wsk = &x. jedynym miejscem ustawienia wskaźnika jest miejsce jego definicji. Co za tym idzie żadne operacja przesuwania typu wsk++; wsk--; wsk += 3; etc. także nie zadziałają!

9 Mamy zwykłą zmienną x typu float oraz wskaźnik wsk ustawiony na niej. Sam wskaźnik posiada jednak pewne ograniczenie. Nie może bowiem modyfikować wartości obiektu, na który wskazuje. Sam obiekt oczywiście nie musi być stałą, co widać w przykładzie.

10 wskaźnikiem nie można poruszać, ani przestawiać, a dodatkowo nie można zmieniać wartości obiektu, na który wskazuje. Dla formalności przykład takiego wskaźnika: float pi = 3.14; const float * const wsk = π

11 Zmienne przekazujemy do funkcji przez wartość referencję.

12 Skoro funkcja pobiera jako argument wskaźnik na zmienną, to faktycznie pobiera adres zmiennej. A jeśli pobrany został adres zmiennej, funkcja działa bezpośrednio na zmiennej, nie na jej kopii. Nasza zdefiniowana funkcja działa więc tak samo jak funkcja w postaci: Zalecamy jednak przekazywanie funkcji argumentów będących wskaźnikami, ponieważ mamy wtedy pewność, że taka funkcja będzie działała na oryginalnych zmiennych

13 Zacznijmy od programu, dzięki któremu zobaczymy, jak ułożone są w pamięci kolejne elementy tablicy: ą ę Zauważ, że w pętli nie wyświetlamy wartości elementów, lecz adresy komórek, w których te wartości będą przechowywane.

14 Jeśli znamy adres pierwszego elementu tablicy i wiemy, ile bajtów zajmuje zmienna tego samego typu, co elementy tablicy, to łatwo obliczymy adres komórki, pod którym znajdziemy zapisaną wartość dowolnego n-tego elementu tablicy. Jeśli wiec ustawimy wskaźnik na pierwszy element tablicy, to inkrementując go, będziemy się przesuwać do kolejnych jej elementów. Aby znaleźć adres pierwszego elementu tablicy, wystarczy odwołać się do nazwy tablicy.

15 W języku C+ + nazwa tablicy jest jednocześnie wskaźnikiem do jej pierwszego elementu. Oznacza to, że tab jest tym samym, co &tab [ 0 ]

16 Wynika stąd, że instrukcje są równoważne. Dlatego gdy przekazywaliśmy wywoływanej funkcji nazwę tablicy, to przekazywaliśmy wskaźnik do jej pierwszego elementu, czyli adres w pamięci, pod którym znajdowała się tablica. Funkcja działała więc na oryginalnej tablicy, a nie na jej kopii.

17 Zdefiniujemy wskaźnik na zmienną będącą liczbą całkowitą Ustawimy go na pierwszym elemencie tablicy, a następnie będziemy go tylko przesuwać wzdłuż tablicy, bez potrzeby odnajdywania za każdym razem początku tablicy.

18 ź ź ź ść ę ź ść ź ę ę ź

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 6

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 6 JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM Wykład 6 1 SPECYFIKATOR static Specyfikator static: Specyfikator ten powoduje, że zmienna lokalna definiowana w obrębie danej funkcji nie jest niszczona

Bardziej szczegółowo

1 Wskaźniki. 1.1 Główne zastosowania wskaźników

1 Wskaźniki. 1.1 Główne zastosowania wskaźników 1 Wskaźniki Wskaźnik (ang. pointer) jest obiektem (zmienną) przechowującym adres pamięci. Definiowanie wskaźników: typ *nazwa wskaznika; np.: int *wsk na x;, double *xxx;, char *znak;. Aby można było pracować

Bardziej szczegółowo

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie.

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie. Część XXII C++ w Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie. Ćwiczenie 1 1. Utwórz nowy projekt w Dev C++ i zapisz go na

Bardziej szczegółowo

Techniki Programowania wskaźniki

Techniki Programowania wskaźniki Techniki Programowania wskaźniki Łukasz Madej Katedra Informatyki Stosowanej i Modelowania Wykłady opracowane we współpracy z Danutą Szeligą, Łukaszem Sztangretem Wskaźniki Dla typu T zapis T* oznacza

Bardziej szczegółowo

Wskaźniki i dynamiczna alokacja pamięci. Spotkanie 4. Wskaźniki. Dynamiczna alokacja pamięci. Przykłady

Wskaźniki i dynamiczna alokacja pamięci. Spotkanie 4. Wskaźniki. Dynamiczna alokacja pamięci. Przykłady Wskaźniki i dynamiczna alokacja pamięci. Spotkanie 4 Dr inż. Dariusz JĘDRZEJCZYK Wskaźniki Dynamiczna alokacja pamięci Przykłady 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 2 Wskaźnik to

Bardziej szczegółowo

Podstawy programowania. Wykład: 8. Wskaźniki. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy programowania. Wykład: 8. Wskaźniki. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD Podstawy programowania Wykład: 8 Wskaźniki 1 dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD Podstawy programowania w C++ Wskaźniki 2 Podstawy Pojęcie wskaźnika Wskaźnik na zmienną danego

Bardziej szczegółowo

Laboratorium nr 9. Temat: Wskaźniki, referencje, dynamiczny przydział pamięci, tablice dynamiczne. Zakres laboratorium:

Laboratorium nr 9. Temat: Wskaźniki, referencje, dynamiczny przydział pamięci, tablice dynamiczne. Zakres laboratorium: Laboratorium nr 9 Temat: Wskaźniki, referencje, dynamiczny przydział pamięci, tablice dynamiczne. Zakres laboratorium: wskaźniki referencje zastosowanie wskaźników wobec tablic dynamiczny przydział pamięci,

Bardziej szczegółowo

Podstawy informatyki. Elektrotechnika I rok. Język C++ Operacje na danych - wskaźniki Instrukcja do ćwiczenia

Podstawy informatyki. Elektrotechnika I rok. Język C++ Operacje na danych - wskaźniki Instrukcja do ćwiczenia Podstawy informatyki Elektrotechnika I rok Język C++ Operacje na danych - wskaźniki Instrukcja do ćwiczenia Katedra Energoelektroniki i Automatyki Systemów Przetwarzania Energii AGH Kraków 2017 Tematyka

Bardziej szczegółowo

Wykład nr 3. Temat: Wskaźniki i referencje. Edward Morgan Forster

Wykład nr 3. Temat: Wskaźniki i referencje. Edward Morgan Forster Wykład nr 3 Temat: Wskaźniki i referencje. Cytaty: Mylić się jest rzeczą ludzką, ale żeby coś naprawdę spaprać potrzeba komputera. Edward Morgan Forster Gdyby murarze budowali domy tak, jak programiści

Bardziej szczegółowo

Język C++ zajęcia nr 2

Język C++ zajęcia nr 2 Język C++ zajęcia nr 2 Inicjalizacja Definiowanie obiektu może być połączone z nadaniem mu wartości początkowej za pomocą inicjalizatora, który umieszczany jest po deklaratorze obiektu. W języku C++ inicjalizator

Bardziej szczegółowo

Wskaźnik może wskazywać na jakąś zmienną, strukturę, tablicę a nawet funkcję. Oto podstawowe operatory niezbędne do operowania wskaźnikami:

Wskaźnik może wskazywać na jakąś zmienną, strukturę, tablicę a nawet funkcję. Oto podstawowe operatory niezbędne do operowania wskaźnikami: Wskaźniki są nieodłącznym elementem języka C. W języku C++ także są przydatne i korzystanie z nich ułatwia pracę, jednak w odróżnieniu do C wiele rzeczy da się osiągnąć bez ich użycia. Poprawne operowanie

Bardziej szczegółowo

> C++ wskaźniki. Dane: Iwona Polak. Uniwersytet Śląski Instytut Informatyki 26 kwietnia 2017

> C++ wskaźniki. Dane: Iwona Polak. Uniwersytet Śląski Instytut Informatyki 26 kwietnia 2017 > C++ wskaźniki Dane: Iwona Polak iwona.polak@us.edu.pl Uniwersytet Śląski Instytut Informatyki 26 kwietnia 2017 >??? Co to jest WSKAŹNIK? ++ wskaźniki 2 / 20 >??? Co to jest WSKAŹNIK? To po prostu ADRES

Bardziej szczegółowo

ć ć ć Ś ć Ż

ć ć ć Ś ć Ż Ę ć ć ć Ś ć Ż Ę Ś ŚĆ Ś ć ć ć Ś ć ć ć ć ć ć Ś Ć ć ć ć ć ć ć ć ć ć ć ć ć Ś ć Ś Ż Ś Ę ć ć Ż ŚĆ ć ć ć ć ć Ż ć ć ć ć ć ć ć ź ć Ż ć ć ć ć ź ć ć ć ć ć ć ć Ć ć ć Ę ć ź ć ć ć ć ć ć ć Ę ź Ę ć ć ć ć ć ć ć ć ć ć ć

Bardziej szczegółowo

Ę Ę Ę Ą ź Ę ń Ę ć ć ń ć ć ń Ą Ę ć ń źć ń ć ź ń ć ć Ę ć ć ć ć ń Ś ć ć Ć ć ć Ć ń ć ć Ć Ć Ś Ś ć Ś Ż ć ń ć Ć ń ć ń ć źć ć ć ć ń Ć ć Ć ń ń ń ń ń ń ć ź ć ń ć ć ć ć ć ć ń ź ń ć ń ź ć ć ć Ć ć ć ć ź ć Ć ć ć ć ć

Bardziej szczegółowo

KURS C/C++ WYKŁAD 6. Wskaźniki

KURS C/C++ WYKŁAD 6. Wskaźniki Wskaźniki KURS C/C++ WYKŁAD 6 Każda zmienna ma unikalny adres wskazujący początkowy obszar pamięci zajmowany przez tą zmienną. Ilość pamięci zajmowanej przez zmienną zależy od typu zmiennej. Adres można

Bardziej szczegółowo

Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy. Wykład 4. Karol Tarnowski A-1 p.

Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy. Wykład 4. Karol Tarnowski A-1 p. Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy Wykład 4 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Tablice Wskaźniki Adresy pamięci Operator adresu

Bardziej szczegółowo

Lab 9 Podstawy Programowania

Lab 9 Podstawy Programowania Lab 9 Podstawy Programowania (Kaja.Gutowska@cs.put.poznan.pl) Wszystkie kody/fragmenty kodów dostępne w osobnym pliku.txt. Materiały pomocnicze: Wskaźnik to specjalny rodzaj zmiennej, w której zapisany

Bardziej szczegółowo

Języki i techniki programowania Ćwiczenia 2

Języki i techniki programowania Ćwiczenia 2 Języki i techniki programowania Ćwiczenia 2 Autor: Marcin Orchel Spis treści: Język C++... 5 Przekazywanie parametrów do funkcji... 5 Przekazywanie parametrów w Javie.... 5 Przekazywanie parametrów w c++...

Bardziej szczegółowo

Programowanie w C++ Wykład 4. Katarzyna Grzelak. 19 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 37

Programowanie w C++ Wykład 4. Katarzyna Grzelak. 19 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 37 Programowanie w C++ Wykład 4 Katarzyna Grzelak 19 marca 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 37 Funkcje cd K.Grzelak (Wykład 1) Programowanie w C++ 2 / 37 Funkcja powtórzenie Funkcje == podprogramy

Bardziej szczegółowo

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main. Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo

Bardziej szczegółowo

Ł Ż ś ć ż ż ś ś ż ś Ę ś Ę ż ź Ż ść Ż

Ł Ż ś ć ż ż ś ś ż ś Ę ś Ę ż ź Ż ść Ż Ż Ę Ł Ż ś ć ż ż ś ś ż ś Ę ś Ę ż ź Ż ść Ż Ż ś ś ś ć ś Ż ć ź ż ś ż ć ź ź ź Ę ć ż Ń ść ć Ł Ż ś ść ś ż ć ż ć ć ć ć ć ść ć ś ś ć ż ź ć ć ż ś ć Ę ś ż ć ść ć ź ź ś Ź ś ść ś ś ć ś ż ż ś ś ś ś ś ż ś ś Ź ż ś Ś ś

Bardziej szczegółowo

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 26 marca kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 40

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 26 marca kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 40 Programowanie w C++ Wykład 5 Katarzyna Grzelak 26 marca 2018 9 kwietnia 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 40 Pojęcia z poprzedniego wykładu Podział programu na funkcje podział na niezależne

Bardziej szczegółowo

IX. Wskaźniki.(3 godz.)

IX. Wskaźniki.(3 godz.) Opracowała: dr inż. Anna Dubowicka Uczelniane Centrum Komputerowe PK IX. Wskaźniki.(3 godz.) Wskaźnik jest zmienną, która zawiera adres innej. 1. Definiowanie wskaźników. typ * nazwa ; gdzie: znak * informuje

Bardziej szczegółowo

C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów

C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów Operatory są elementami języka C++. Istnieje zasada, że z elementami języka, takimi jak np. słowa kluczowe, nie można dokonywać żadnych zmian, przeciążeń, itp. PRZECIĄŻANIE OPERATORÓW Ale dla operatorów

Bardziej szczegółowo

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 6. Karol Tarnowski A-1 p.

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 6. Karol Tarnowski A-1 p. Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy Wykład 6 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Funkcje w języku C Zasięg zmiennych Przekazywanie

Bardziej szczegółowo

Ę ś ś ń ź ź Ę ć Ę Ł ń ś ń ś Ż ń Ę ś ń Ę ś Ę ń ś ń ś ś Ż ś Ę ń ś ś ś Ę Ę ś ś ś Ę ś ść ś ść

Ę ś ś ń ź ź Ę ć Ę Ł ń ś ń ś Ż ń Ę ś ń Ę ś Ę ń ś ń ś ś Ż ś Ę ń ś ś ś Ę Ę ś ś ś Ę ś ść ś ść Ś Ś ś ś ś ś Ą Ą ź ź ć ź Ę ś ń ś ś Ę ś ś ń ź ź Ę ć Ę Ł ń ś ń ś Ż ń Ę ś ń Ę ś Ę ń ś ń ś ś Ż ś Ę ń ś ś ś Ę Ę ś ś ś Ę ś ść ś ść ć Ę ć Ą ś ś ń ń ć ś ś ń Ń ś ś ć ć ń ś ź ś ść ń Ź ń ść ś ń ń ść ś ś ń ść ń ść

Bardziej szczegółowo

Ć ć ń Ć ń ć ć Ć

Ć ć ń Ć ń ć ć Ć ć Ł ś ś Ć ć ć ń Ć ć ń Ć ń ć ć Ć Ć Ć ń ć Ł ś ć ń ć Ć ś Ć ń ć ć ź ś ś ść Ł ść ś ć ź ć ś ć ś ć ć ć ć Ć ś ś ć Ć ń ś ź ć ź ć ś ń ń ń ś Ą źć Ć Ć Ć ć ź ć ź ś ć Ę Ć ś ć ś ć ć ś Ć ć ś Ę Ć Ć ć ź ć ć Ć ń Ę ć ć ń

Bardziej szczegółowo

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Instytut Mechaniki i Inżynierii Obliczeniowej  Wydział Mechaniczny Technologiczny Politechnika Śląska Instytut Mechaniki i Inżynierii Obliczeniowej www.imio.polsl.pl fb.com/imiopolsl @imiopolsl Wydział Mechaniczny Technologiczny Politechnika Śląska Języki programowania z programowaniem obiektowym Laboratorium

Bardziej szczegółowo

ź Ź Ź ć ć ć ź ć ć ć ć ć Ź

ź Ź Ź ć ć ć ź ć ć ć ć ć Ź ź Ź Ź ć ć ć ź ć ć ć ć ć Ź ć ć ć ć ć ć ć ć Ż ć ć ć ć ć ć ć ć ć ć ć Ż Ż ć ć ć ć ć ć ć ć Ż ć ć ć ź ć Ź ć ć ć ć ć ć ć ć ć ź ć ć ć ć ć ć ć ć ć ć ć ć ć ć Ż ć ć ć ć Ż ć ć ć ć ć ć ć ć Ż ć Ł Ś Ś ć Ą Ę ć Ę ć Ż ć

Bardziej szczegółowo

Wykład 8: klasy cz. 4

Wykład 8: klasy cz. 4 Programowanie obiektowe Wykład 8: klasy cz. 4 Dynamiczne tworzenie obiektów klas Składniki statyczne klas Konstruktor i destruktory c.d. 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD

Bardziej szczegółowo

Ą ŚĆ Ś Ś Ę ć

Ą ŚĆ Ś Ś Ę ć Ą Ę Ą Ą ŚĆ Ś Ś Ę ć ć ć ć ź ć ć ć ć ć ć ć ć Ą ć ć ć Ą Ś ć Ś ć ć Ą ć Ś Ś Ą Ś Ą ć ć Ą ź ź ć ć Ą ć ź ć Ą ć Ą ć ć ć ć ć ć ć ć ć ć ć ć ć ź ć ć Ś ć ć ć Ę Ą ć Ą ć ć ć ć ć ć Ł ź ź ź Ł Ł ć Ą ć ć ć ć ć Ą ć Ą ć Ą

Bardziej szczegółowo

Wykład 1: Wskaźniki i zmienne dynamiczne

Wykład 1: Wskaźniki i zmienne dynamiczne Programowanie obiektowe Wykład 1: Wskaźniki i zmienne dynamiczne 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD Podstawy programowania w C++ Wskaźniki 2 dr Artur Bartoszewski - Programowanie

Bardziej szczegółowo

Referencje do zmiennych i obiektów

Referencje do zmiennych i obiektów Referencje do zmiennych i obiektów Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2008 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu

Bardziej szczegółowo

XV. Wskaźniki Odczytywanie adresu pamięci istniejących zmiennych Wskaźniki pierwsze spojrzenie.

XV. Wskaźniki Odczytywanie adresu pamięci istniejących zmiennych Wskaźniki pierwsze spojrzenie. XV. Wskaźniki 15.1. Odczytywanie adresu pamięci istniejących zmiennych Język C++ w bardzo łatwy sposób umoŝliwia nam pobieranie adresu pamięci wybranych zmiennych. Wskaźnik zajmuje zazwyczaj 4 bajty bez

Bardziej szczegółowo

Ż Ą Ź ć Ę Ź ć

Ż Ą Ź ć Ę Ź ć Ą Ż Ą Ź ć Ę Ź ć ć Ż Ę Ę ć Ś ć Ż Ż Ź ć Ą ć Ę Ź ć Ś Ś Ę ć Ę ć Ź Ś ć ć ć Ż Ż Ę Ź Ę Ż Ź Ść Ś Ż Ś Ę Ź Ż Ś Ć Ą Ź Ę Ź ć Ż Ć Ę Ź Ż ź Ę Ź Ż Ę Ś Ź Ż Ż Ś Ś Ź Ź Ź Ź Ś Ę Ą Ę Ć Ś Ę Ź Ś Ś Ś Ź Ś Ę Ę Ź Ś Ź Ę Ź Ż Ę Ę ź

Bardziej szczegółowo

ś ść ść ś ść ść ś ś ś ś ść ś ś ś ść ść

ś ść ść ś ść ść ś ś ś ś ść ś ś ś ść ść Ą Ł Ł Ł Ę Ł ś ś ś ś ść ść ść ść Ś ść ŚĆ ś ŚĆ ś ś ść ść ś ść ść ś ś ś ś ść ś ś ś ść ść ś ś ś Ż ś Ś ś Ś ść ś ś ś ś ś ś ś ś Ś ś ś ś ś Ł Ś ś ś ś Ś ś ś ź Ś ŚĆ ś ś ś ś ś ś Ś ś Ś ś ś ś ś ś ś ś Ś Ś ść ś ś ś ś

Bardziej szczegółowo

ć ć ź ć ć ć Ź ź Ź ź

ć ć ź ć ć ć Ź ź Ź ź ć Ż Ż ć ć ć ź ć ć ć Ź ź Ź ź ć ź ć ź ć ź ź ź ź ź ź ź ć ć ź ć źć ć ć ć ć ć ć ć ć ć ć ź ć ć ć ć ć ć ć ć ć ć ć ć ć ć ć ć ć ć ź ć ć ć ź ć ć ć ć Ź ć ć ć Ó Ż ć ć Ź ć ć ć ć ć ć ć ć ć ć ć Ź ć ź ć ć ć ć ź ć ć ć

Bardziej szczegółowo

Tablice. Monika Wrzosek (IM UG) Podstawy Programowania 96 / 119

Tablice. Monika Wrzosek (IM UG) Podstawy Programowania 96 / 119 Tablice Tablica to struktura danych, która może przechowywać wiele wartości tego samego typu. Na przykład tablica może zawierać: 10 wartości typu int opisujących liczbę studentów przyjętych na kierunek

Bardziej szczegółowo

ć ć ź ć Ę Ź ć ć ć ć ć

ć ć ź ć Ę Ź ć ć ć ć ć Ą ć ź Ś ź ć ź ć ć ć ź ź ć ć ć ć ć ć ć ć ć ć ć ź ć Ę Ź ć ć ć ć ć ć ć Ę ć ź ć ć ć ź ć ć ć ź ć ć ź ć ć ć Ó ć ć ć ć ć ć ć ć Ę ć ć ć ć ź ć ć ć ć ć ć ć ć ć ć ć ź ć ć ć ź ź Ę ź ć ć ć Ó ć ć Ę ć ć ź ć ć ć Ó ź Ż

Bardziej szczegółowo

Przekazywanie argumentów wskaźniki

Przekazywanie argumentów wskaźniki Przekazywanie argumentów wskaźniki klasyczne wywołanie wyliczenie i zwrotne przekazanie tylko jednej wielkości moŝliwość uŝycia zmiennych globalnych niebezpieczeństwa z tym związane wyjście wywołanie funkcji

Bardziej szczegółowo

ź ź ć ź ź ź Ó Ó ć Ć ć ć Ą ć ć ź ć ć ć ć Ś

ź ź ć ź ź ź Ó Ó ć Ć ć ć Ą ć ć ź ć ć ć ć Ś Ś Ó ź ź ź ź ź ź ź ź ć ź ź ź Ó Ó ć Ć ć ć Ą ć ć ź ć ć ć ć Ś ć ć ć ć ź ź ć ź ź ć Ą ź ź ź ć ć ć ź ć ć ć ć Ó ź Ą ć ć ź ć ź ź ć ć ć Ż ć Ó ć ź ź ź ź ź Ą ź ź ź ź ź ź ć ć ź ć ź ć ź ć ź Ą ź ć ź ć ć Ó ć ć ć ć ć Ś

Bardziej szczegółowo

Podstawy programowania. Wykład: 6. Tablice statyczne. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy programowania. Wykład: 6. Tablice statyczne. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD programowania Wykład: 6 Tablice statyczne 1 dr Artur Bartoszewski - programowania, sem 1 - WYKŁAD programowania Tablice 2 Tablice Klasyfikacja zmiennych statycznych prosty porządkowy rzeczywisty całkowity

Bardziej szczegółowo

KURS C/C++ WYKŁAD 8. Deklaracja funkcji informuje komplilator jaką wartość funkcja będzie zwracała i jakiego typu są jej argumenty.

KURS C/C++ WYKŁAD 8. Deklaracja funkcji informuje komplilator jaką wartość funkcja będzie zwracała i jakiego typu są jej argumenty. Funkcje. Deklaracja funkcji: KURS C/C++ WYKŁAD 8 #include //deklaracje funkcji: printf(...), scanf(...) #include //double sqrt (double ) #include //void clrscr (void) void main

Bardziej szczegółowo

Ż ć ź ć ć ź Ż Ż Ł Ż ć Ż Ż Ż ć Ł Ż ć ć ć ź Ż Ż Ż Ż Ż Ż ć ć ź Ż ć ć ć ź Ż Ż ć Ż Ż źć ć Ż Ż Ż ć Ż Ż Ż Ż Ś ć Ż ć Ł Ż Ł ć Ą Ż Ł ć Ż ć Ż Ż Ż ć ć ć Ż Ż Ż Ż Ż Ż Ł ć Ł Ż ź ć Ż Ż Ż ć ć ć ć ć Ż Ż Ą Ż Ż Ż ć Ż Ż ć

Bardziej szczegółowo

Ł ź ś ń ść ść ś ć ć ś ć ź ź ć ć ń ć ść ć ć ś

Ł ź ś ń ść ść ś ć ć ś ć ź ź ć ć ń ć ść ć ć ś Ł ń ść ś Ż ś ś ć ś ś Ż ż ś ś ść ś śń ż Ż ć ś ń Ś ż ć ż ść Ł ź ś ń ść ść ś ć ć ś ć ź ź ć ć ń ć ść ć ć ś Ą Ż Ą ś ż ż ż ż ż ż ż ż ć ż ż ś ć ż ż ź ź ń ś ć ż ć ć ż ż ć ż ż ż ś ć ż ż źć ż ż ż ż Ż ż ń ż ż

Bardziej szczegółowo

Wykład 5: Klasy cz. 3

Wykład 5: Klasy cz. 3 Programowanie obiektowe Wykład 5: cz. 3 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD - podstawy Konstruktor i destruktor (część I) 2 Konstruktor i destruktor KONSTRUKTOR Dla przykładu

Bardziej szczegółowo

Ą Ł Ę Ń Ą Ó ŚĆ Ś ć Ó ń ć ŚĆ ć ć

Ą Ł Ę Ń Ą Ó ŚĆ Ś ć Ó ń ć ŚĆ ć ć ń Ą Ą Ł Ę Ń Ą Ó ŚĆ Ś ć Ó ń ć ŚĆ ć ć Ś Ó ć ć ć ć Ż Ę Ż Ś Ć ń ć ń ć ć ć Ż Ż Ć ć Ż ć ć ć ć ć Ż Ż Ś Ć ń Ć Ó ć Ś Ś Ź ć ć ń ć ć Ż ć ć Ć Ż ń ć ć Ś Ć ć ŚĆ ć ć Ś ć Ż ć ć Ż ŚĆ Ś ń Ś Ż Ś ń Ż ń Ś ŹĆ Ś Ś Ś ń Ś ć Ó

Bardziej szczegółowo

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 2. Poprawna definicja wskażnika b to: a) float *a, **b = &a; b) float

Bardziej szczegółowo

Programowanie współbieżne Wykład 6. Iwona Kochaoska

Programowanie współbieżne Wykład 6. Iwona Kochaoska Programowanie współbieżne Wykład 6 Iwona Kochaoska Przekazywanie parametrów Do funkcji obsługi wątku można przekazad dowolną liczbę parametrów Przekazywanie parametrów Jest to przekazywanie parametrów

Bardziej szczegółowo

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach? Część XVIII C++ Funkcje Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach? Umiemy już podzielić nasz

Bardziej szczegółowo

C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy WSKAŹNIKI KLASOWE

C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy WSKAŹNIKI KLASOWE WSKAŹNIKI KLASOWE Wskaźniki klasowe Każdy obiekt zajmuje fragment pamięci i wszystkie obiekty tego samego typu zajmują fragmenty pamięci tej samej długości początek miejsca w pamięci zajmowanego przez

Bardziej szczegółowo

PROE wykład 3 klasa string, przeciążanie funkcji, operatory. dr inż. Jacek Naruniec

PROE wykład 3 klasa string, przeciążanie funkcji, operatory. dr inż. Jacek Naruniec PROE wykład 3 klasa string, przeciążanie funkcji, operatory dr inż. Jacek Naruniec Przypomnienie z ostatnich wykładów Konstruktory/destruktory i kolejność ich wywołania w złożonej klasie. Referencja Obiekty

Bardziej szczegółowo

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Instytut Mechaniki i Inżynierii Obliczeniowej  Wydział Mechaniczny Technologiczny Politechnika Śląska Instytut Mechaniki i Inżynierii Obliczeniowej www.imio.polsl.pl fb.com/imiopolsl @imiopolsl Wydział Mechaniczny Technologiczny Politechnika Śląska Języki programowania z programowaniem obiektowym Laboratorium

Bardziej szczegółowo

Część XVII C++ Funkcje. Funkcja bezargumentowa Najprostszym przypadkiem funkcji jest jej wersja bezargumentowa. Spójrzmy na przykład.

Część XVII C++ Funkcje. Funkcja bezargumentowa Najprostszym przypadkiem funkcji jest jej wersja bezargumentowa. Spójrzmy na przykład. Część XVII C++ Funkcje Funkcja bezargumentowa Najprostszym przypadkiem funkcji jest jej wersja bezargumentowa. Spójrzmy na przykład. 2 3 Tworzymy deklarację i definicję funkcji o nazwie pobierzln() Funkcja

Bardziej szczegółowo

Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 3. Karol Tarnowski A-1 p.

Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 3. Karol Tarnowski A-1 p. Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni Wykład 3 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Abstrakcja funkcyjna Struktury Klasy hermetyzacja

Bardziej szczegółowo

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 16 kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 16 kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27 Programowanie w C++ Wykład 5 Katarzyna Grzelak 16 kwietnia 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27 Pojęcia z poprzednich wykładów Tablica to ciag obiektów tego samego typu, zajmujacy ciagły

Bardziej szczegółowo

Wskaźniki. nie są konieczne, ale dają językowi siłę i elastyczność są języki w których nie używa się wskaźników typ wskaźnikowy typ pochodny:

Wskaźniki. nie są konieczne, ale dają językowi siłę i elastyczność są języki w których nie używa się wskaźników typ wskaźnikowy typ pochodny: Wskaźniki nie są konieczne, ale dają językowi siłę i elastyczność są języki w których nie używa się wskaźników typ wskaźnikowy typ pochodny: typ nw; /* definicja zmiennej nw typu typ */ typ *w_nw; /* definicja

Bardziej szczegółowo

Program 6. Program wykorzystujący strukturę osoba o polach: imię, nazwisko, wiek. W programie wykorzystane są dwie funkcje:

Program 6. Program wykorzystujący strukturę osoba o polach: imię, nazwisko, wiek. W programie wykorzystane są dwie funkcje: Program 6 Program wykorzystujący strukturę osoba o polach: imię, nazwisko, wiek. W programie wykorzystane są dwie funkcje: Funkcja pobierz_osobe wczytuje dane osoby podanej jako argument. Funkcja wypisz_osobe

Bardziej szczegółowo

Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk. Wydział Inżynierii Metali i Informatyki Przemysłowej

Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk. Wydział Inżynierii Metali i Informatyki Przemysłowej Podstawy informatyki Informatyka stosowana - studia niestacjonarne Grzegorz Smyk Wydział Inżynierii Metali i Informatyki Przemysłowej Akademia Górniczo Hutnicza im. Stanisława Staszica w Krakowie, rok

Bardziej szczegółowo

ć

ć Ł Ę Ę Ą ć Ś ć ć ź ź ć ć ź ź ź ć ć ź Ś ć ć ć ć ć Ś ć Ż ć ŚĆ Ć Ż Ś Ż Ś Ż ć Ś Ś Ś Ś Ś Ś Ś Ś Ś Ś Ś ć Ć ć Ć ć Ć ć Ś Ś Ś ć Ć Ż Ć ć ć Ś Ż Ż Ś Ć Ż ć ć ć ć ć Ś Ś Ś ć Ż Ż ć ć Ś Ś ć Ś Ż ć Ś ć ć ć Ż Ć ć ć Ż Ś Ż Ć

Bardziej szczegółowo

Podstawy programowania. Wykład 6 Wskaźniki. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład 6 Wskaźniki. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład 6 Wskaźniki Krzysztof Banaś Podstawy programowania 1 Adresy zmiennych Język C pozwala na operowanie adresami w pamięci stąd, między innymi, kwalifikowanie C jako języka relatywnie

Bardziej szczegółowo

Podstawy programowania w języku C++

Podstawy programowania w języku C++ Podstawy programowania w języku C++ Część dziewiąta Tablice a zmienne wskaźnikowe Wersja skrócona, tylko C++ Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie

Bardziej szczegółowo

ć ć Ą ć Ęć Ó Ą ź ć ć ć ć ź ź Ą ć Ę ć ź ć ć ć ź ć ź ć ć ć Ś Ź ź

ć ć Ą ć Ęć Ó Ą ź ć ć ć ć ź ź Ą ć Ę ć ź ć ć ć ź ć ź ć ć ć Ś Ź ź ź Ó ć Ę ć Ó ć ć ć ć Ź ć ź ć ć Ź ć ć ć Ą ć Ęć Ó Ą ź ć ć ć ć ź ź Ą ć Ę ć ź ć ć ć ź ć ź ć ć ć Ś Ź ź ć Ą ć Ą ć ź ć ź ć Ę ć ć Ź ź Ę ć ć ć ć Ę Ę ź ć Ó ć ć ć ć ć ć ć ć ć Ź Ź ć ć ć ź Ę ć ć ć ć Ę Ąć ź Ź ć Ą ć ć

Bardziej szczegółowo

ć ć Ę ż Ą ż ż Ź ć Ę Ą ż Ą ć ż ć ć ż ż ć Ę ż ż ć ż ć

ć ć Ę ż Ą ż ż Ź ć Ę Ą ż Ą ć ż ć ć ż ż ć Ę ż ż ć ż ć ć ć Ł ć ć ć Ę ż Ą ż ż Ź ć Ę Ą ż Ą ć ż ć ć ż ż ć Ę ż ż ć ż ć ż ćż Ń ż ż ż ż ż ż ż ż Ź ż ż ż ć ć ż Ę Ń ć ż Ą ż Ś ż ż ć ć Ź ć ć ż ż Ź ż ć Ę Ń Ź ż ć ć ż Ń Ł ć ć ć Ż ż ć ć ż Ź ż Ę Ą ż ż ćż ż ż ć ż ż ż ć ć ż

Bardziej szczegółowo

ć ć Ń Ę

ć ć Ń Ę ż ź ć ć Ń Ę ć Ś Ę Ś ć ć ż ć ż ż ż ć ć ć ż ź ć ż ż ż ż ć ż ż Ś ź ż ć Ą ż ż ż ż ż ż ź ć ż ć ż Ś ż ć ż ż Ą ż ż Ę ć Ż ż ć Ż ż ż ż ż ć ż ż ż ż ż ź ć ż ż ć ż ź Ś ż ż ć ż ż ż ż ć ćż ż ć ż ż ż ź ż ć ż ż ż Ś

Bardziej szczegółowo

Ś Ę Ą Ł Ś Ł Ł Ł Ł Ł Ś Ś Ł Ł Ł Ą Ł Ł Ł Ł Ł Ą Ą Ł

Ś Ę Ą Ł Ś Ł Ł Ł Ł Ł Ś Ś Ł Ł Ł Ą Ł Ł Ł Ł Ł Ą Ą Ł ę Ą Ł Ł Ś Ę Ą Ł Ś Ł Ł Ł Ł Ł Ś Ś Ł Ł Ł Ą Ł Ł Ł Ł Ł Ą Ą Ł Ł ś ś ś ś ę ś ę ę ś ść ść ść ę ę ę ść ę ś Ą Ą ś Ż ść Ź Ś Ą ę ść ść ść Ą ś Ż ę Ż Ń Ą Ł ś ę ś ę ś ś ę ś ś ść Ę Ś ś Ś ś Ś ś Ś ź ę ź ę ść ś ę Ę ś Ł ść

Bardziej szczegółowo

Ć ć ć Ś ć

Ć ć ć Ś ć ź Ę Ę Ę ź ć ć ć Ć ć ć Ś ć ź ć ć ć Ć Ś ź Ś Ć ć Ż ź ć Ż Ś Ł ŚĆ ć ć ć Ć ć Ść ć Ż ć ć ć ć ć ć ć ć Ą ć ć Ś ć Ś ć Ż Ś ć Ó ć Ś ć Ś ć ć ć ć Ś ć ć Ś ć Ć Ż ć Ć ć ć ć ć Ę ć ź ć ć ć ć ć ź ć ć ć Ć ź ć Ż ć ć ć Ś ć Ć

Bardziej szczegółowo