Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Wskaźniki.

Podobne prezentacje


Prezentacja na temat: "Wskaźniki."— 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: Pascal C++ nazwa : ^typ;
typ * nazwa; Przykład: wskaznik:^integer; char * wsk;

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

5 ^ * Operator wyłuskania (dereferencji):
operator uzyskania zawartości obszaru identyfikowanego przez adres zawarty w zmiennej wskaźnikowej Pascal C++ ^ * Przykład: var wsk:^integer; a:integer; begin a := 10; wsk writeln(a^); end. 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: 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<<max(&c,&d);

11 Koniec


Pobierz ppt "Wskaźniki."

Podobne prezentacje


Reklamy Google