Programiranje u C-u – pokazivači i datoteke
Programiranje u C-u
Pokazivači i datoteke
Pointers & Files
Copyright © 2003,2004 Mladen Tomić
Uvod
znatno povećavaju mogućnosti jezika
olakšavaju rješavanje mnogih kompleksnih
problema
omogućuju dinamičko rukovanje memorijom –
ušteda memorije
neispravno korištenje je česti uzrok pogreške u radu
aplikacije

nakon deklaracije:
char slovo;
program će:
Rezervirati na stogu 1B
“Zapamtiti” adresu rezervirane lokacije – npr. 0014FC60
Svaki puta kada se koristi varijabla
slovo
, koristiti podatak s te adrese
Što je deklaracija varijabli?
slovo='B';
na adresu te varijable
upisuje ASCII kod od B (66)
...
...
129
65
221
215
...
...
0014FC61
0014FC60
0014FC5F
0014FC5E
slovo
66
printf(“%c”, slovo); ispisuje: A
Što je deklaracija varijabli?
broj=0x1AF0340C; na adresu te varijable
upisuje broj 451949580
(10)
nakon deklaracije:
int broj;
program će:
Rezervirati na stogu 4B
“Zapamtiti” adresu prvog bajta rezervirane lokacije – npr. 0014FC60
Svaki puta kada se koristi varijabla
broj
, koristiti podatak koji
POČINJE na toj adresi
br
oj
printf(“%d”, broj); ispisuje: 31
...
...
0
0
0
1F
...
...
0014FC63
0014FC62
0014FC61
0014FC60
1A
F0
34
0C

Razlike pokazivača i “običnih” varijabli
obična varijabla može sadržavati
bilo koju vrijednost – cijeli ili
decimalni broj, znak, strukturu i sl.
pokazivači sadrže isključivo adresu
neke druge varijable (obične ili
nekog drugog pokazivača)
...
2F01AB03
2F01AB02
2F01AB01
2F01AB00
...
0001AB03
0001AB02
0001AB01
0001AB00
...
2F01AB04
broj
p1
...
AA
(16)
01
(16)
AD
(16)
C0
(16)
...
00
00
00
1F
...
AC
(16)
na adresi 0001AB00 nalazi se broj 31
na adresi 2F01AB00 nalazi se adresa: AA01ADC0
Ovaj materijal je namenjen za učenje i pripremu, ne za predaju.
Slični dokumenti