Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Wskaźniki. Zmienna wskaźnikowa (wskaźnik) zmienna wskazująca na zmienną danego typu, opisująca położenie innej zmiennej w pamięci, przechowuje adres innej.

Podobne prezentacje


Prezentacja na temat: "Wskaźniki. Zmienna wskaźnikowa (wskaźnik) zmienna wskazująca na zmienną danego typu, opisująca położenie innej zmiennej w pamięci, przechowuje adres innej."— Zapis prezentacji:

1 Wskaźniki

2 Zmienna wskaźnikowa (wskaźnik) zmienna wskazująca na zmienną danego typu, opisująca położenie innej zmiennej w pamięci, przechowuje adres innej zmiennej Zastosowanie zmiennej wskaźnikowej: - dostęp do specjalnych komórek pamięci - dynamiczna alokacja pamięci - przekazywanie argumentów do funkcji przez wskaźniki - praca z tablicami

3 Deklaracja zmiennych wskaźnikowych: PascalC++ nazwa : ^typ;typ * nazwa; Przykład: wskaznik:^integer; Przykład: char * wsk;

4 Operator uzyskania adresu (referencji): Przykład: var wsk:^integer; a:integer; begin wsk end. Przykład: char * wsk; char b; wsk = &b;

5 Operator wyłuskania (dereferencji): operator uzyskania zawartości obszaru identyfikowanego przez adres zawarty w zmiennej wskaźnikowej PascalC++ ^* Przykład: var wsk:^integer; a:integer; begin a := 10; wsk writeln(a^); end. Przykład: char * wsk; char b; b = a; wsk = &b; cout<<*wsk;

6 Dynamiczna alokacja pamięci: Zmienne dynamiczne mają dość ważną cechę: w zależności od potrzeb mogą być tworzone i niszczone w czasie trwania programu. Pozwala to na zaoszczędzenie pamięci, w porównaniu ze zmiennymi statycznymi.

7 Dynamiczna alokacja pamięci w języku Pascal: Dynamiczny przydział pamięci odbywa się przy użyciu następujących procedur: a)Przydzielenie pamięci na zmienną zadanego typu: New( zmienna_wskaźnikowa ) ; b) Zwolnienie pamięci przydzielonej za pomocą procedury New Dispose( zmienna_wskaźnikowa ) ; c) Przydzielenie pamięci na ciąg bajtów o zadanej długości GetMem( zm_wsk, ilość_bajtów ) ; d) Zwolnienie pamięci przydzielonej za pomocą procedury GetMem FreeMem( zm_wsk, ilość_bajtów );

8 Przykład: var wsk_1 : ^ real ; deklaracje zmiennych wskaźnikowych begin New( wsk_1 ); przydzielanie pamięci wsk_1^ := 12.34; operacje na zmiennych dynamicznych Dispose( wsk_1 ); zwalnianie pamięci end.

9 Dynamiczna alokacja pamięci w języku C++: Operatory new i delete Operator new tworzy obiekt, a operator delete usuwa obiekt z pamięci. Przykłady: char *wsk; wsk = new char; delete wsk; int *wsktab; wsktab = new int[10]; delete [] wsk_tab;

10 Przekazywanie argumentów do funkcji przez wskaźniki: -język Pascal: type: wsk=^integer; var c,d:integer; function max(a,b:wsk):integer; … -język C++ int max (int *a, int *b); … int c,d; cout<

11 Koniec


Pobierz ppt "Wskaźniki. Zmienna wskaźnikowa (wskaźnik) zmienna wskazująca na zmienną danego typu, opisująca położenie innej zmiennej w pamięci, przechowuje adres innej."

Podobne prezentacje


Reklamy Google