12.07.2015 Views

Programski jezik C - Pmf

Programski jezik C - Pmf

Programski jezik C - Pmf

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

11.3. OPERACIJE NAD POKAZIVAČIMA 17911.3.2 Pokazivači i cijeli brojeviPokazivaču nije moguće pridružiti vrijednost cjelobrojnog tipa. Iznimkujedino predstavlja nula. Naime, C garantira da nula nije legalna adresa iomogućava da se nula pridruži bilo kojoj pokazivačkoj varijabli s ciljem dase signalizira kako varijabla ne sadrži legalnu adresu. Legalno je pisatidouble *p=0;To je naročito korisno kod automatskih varijabli koje pri pozivu funkcijeimaju nedefiniranu vrijednost. Često se koristi u ovu svrhu simbolička konstantaNULL#define NULL 0........double *p=NULL;(simbolička konstanta NULL definirana je u ). Pokazivače je osims drugim istovrsnim pokazivačem moguće usporedivati i s nulom, tako da jemoguće pisatiif(px != 0) ...Usporedivanje s drugim cijelim brojevima nije dozvoljeno:if(px == 0xBFFFF986) ... // POGRESNO11.3.3 Usporedivanje pokazivačaPokazivače istog tipa možemo medusobno usporedivati pomoću relacijskihoperatora. Takva operacija ima smisla ako pokazivači pokazuju na isto polje.Ako su px i py dva pokazivača istog tipa, onda je moguće koristiti izrazepx < py px > py px == py px != pyRezultat tih operacija je 1 ili 0 ovisno o tome da li je reacija zadovoljena iline.11.3.4 Oduzimanje pokazivačaJedan pokazivač može se oduzeti od drugoga ukoliko oni pokazuju na istopolje. Ako su px i py dva pokazivača na isto polje te ako je py > px, tada jepy-px+1 broj elemenata izmedu px i py, uključujući krajeve. Uočimo da jepy-px vrijednost cjelobrojnog tipa (a ne pokazivačkog). Na primjer, funkcijakoja daje broj znakova u stringu može biti napisana na sljedeći način:

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!