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

background image

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

background image

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

Želiš da pročitaš svih 41 strana?

Prijavi se i preuzmi ceo dokument.

Ovaj materijal je namenjen za učenje i pripremu, ne za predaju.

Slični dokumenti