Podstawy Programowania 2 wykład 1

Nasza ocena:

4
Pobrań: 21
Wyświetleń: 1813
Komentarze: 0
Notatek.pl

Pobierz ten dokument za darmo

Podgląd dokumentu
Podstawy Programowania 2 wykład 1 - strona 1

Fragment notatki:

Informacje zawarte w pliku dotyczą takich kwestii jak: wskaźniki, korzystanie ze wskaźników, wskaźniki a podprogramy, zmienne dynamiczne, przydzielanie i zwalnianie pamięci, dynamiczne tablice.


Podstawy Programowania – semestr drugiWyk ał d wprowadzaj cy1.Wska niki 
Dotychczas wszystkie zmienne, które tworzyli my w programach, przechowywały warto ci bezpo rednio. Innymi s o
ł wy, zmienna
jest   komórk   lub   grup   komórek   (w   zale no ci  od   jej   typu),   która   przechowuje   dane   przetwarzane   przez   program.   Pami
operacyjn  komputera mo emy wyobrazi  sobie jako tablic . Elementy tej tablicy s  nazywane komórkami. Ka da komórka ma
wielko
 jednego bajta. Indeksy tej tablicy s  nazywane adresami. W przypadku tablic ka dy element ma swój unikatowy indeks.
Podobnie w pami ci, ka dej komórce przyporz dkowany jest jednoznaczny adres (co oznacza,  e nie ma dwóch adresów o tym
samym   typie).   Wska niki   s   specjalnymi   zmiennymi,   które   przechowuj   nie   dan ,   ale   adres   komórki   pami ci,   która   t   dan
1
zawiera. W j zyku Turbo Pascal najprostszym wska nikiem jest wska nik typu pointer . Zmienna tego typu ma wielko
 4 bajtów
2
3
(adres w komputerach PC jest 32 bitowy ). Typ  pointer  nie okre la typu danej, na któr  wskazuje wska nik tego typu . Ma to t
4
zalet ,   e  mo na   zmiennej   tego   typu   przypisa   zawarto
  zmiennych   wska nikowych   innych   typów ,   lub   odwrotnie.   Wad
wska nika tego typu jest niemo no
 zinterpretowania warto ci tego, na co on wskazuje. Wska niki typu  pointer  deklarujemy w
sekcji var programu lub podprogramu według nast puj cego wzorca:nazwa_wska nika:pointer;
W praktyce  cz
ciej korzysta  si  ze  zmiennych  wska nikowych, wskazuj cych  na dane  okre lonego  typu. Typ takiej zmiennej
mo emy zdefiniowa  w sekcji type programu lub podprogramu, według nast puj cego wzorca:nazwa_typu_wska nikowego=^nazwa_typu_danych;  
 
Znak  ^  oznacza,   e definiujemy typ wska nikowy. Ma on równie  inne znaczenie, pozwala „wydoby ” dane wskazywane przez
zmienn   wska nikow ,   co   b dzie   pó niej   zademonstrowane.   Mo emy   równie   zadeklarowa   zmienn   wska nikow   o
„anonimowym” typie wska nikowym, wed u
ł g nast puj cego wzorca:nazwa_wska nika:^nazwa_typu_danych; 
Deklaracj   takiego   wska nika  umieszczamy   oczywi cie  w  sekcji  var  programu   lub   podprogramu.   Oto  przykłady   rzeczywistych
definicji typów wska nikowych i deklaracji zmiennych wska nikowych:
Obie   zmienne   (x  i  y)   mog   wskazywa   na   dan   o
type 
wielko ci jednego  bajta, ale one same maj  rozmiar  4
  pbyte = ^byte;
bajtów,   który   jest   konieczny   do   przechowania   adresu

(…)


zmienn , to parametr ten
b dzie przechowywał nie warto podstawionej zmiennej, ale jej adres. Jak wiemy nie musimy stosowa operatora ^, aby otrzyma
warto wskazywan przez ten parametr, a wi c jest on wygodniejszy w u yciu ni „zwykły” wska nik i dodatkowo, w przypadku
du ych struktur danych pozwala zaoszcz dzi pami
na stosie. Tego typu wska niki nazywane s w literaturze referencjami.
„Zwykłe” wska niki maj…
…, a kiedy usuni te z pami ci komputera decyduje programista. Mo e on równie
zajmowanej przez tak
zmienn . Zmienne dynamiczne pozwalaj
wi c na lepsz
gospodark
równie na tworzenie skomplikowanych struktur danych (tym zagadnieniem b dziemy si
mie
wpływ na ilo
pami ci
one
pami ci
komputera. Pozwalaj
zajmowa na przyszłych wykładach).
Zmienne dynamiczne tworzone s w obszarze pami ci komputera, który nazywa si stert…
…, a nie dan lub e wska nik ten wskazuje na
wa ne dane systemu operacyjnego (w przypadku systemu MS-DOS). Inicjalizacja wska ników jest wi c szczególnie wa n
czynno ci w programie.
3.
Wska niki a podprogramy
Z pewn
form
wska ników spotkali my si
ju
wcze niej. S
to parametry formalne podprogramów poprzedzone słowem
kluczowym var. Je li za taki parametr, w miejscu wywołania podprogramu podstawimy odpowiedni…
... zobacz całą notatkę



Komentarze użytkowników (0)

Zaloguj się, aby dodać komentarz