12.07.2015 Views

Programski jezik C - Pmf

Programski jezik C - Pmf

Programski jezik C - Pmf

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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

180 POGLAVLJE 11. POKAZIVAČIint strlen(char *s){char *p=s;}while(*p != ’\0’) p++;return p-s;sp1 2 3 4 5 6 \0p-s=6Moguće je da na nekim sustavima razlika dva pokazivača ne stane nužnou varijablu tipa int. Stoga se u datoteci zaglavlja definira cjelobrojnitip podatka ptrdiff t čija je širina dovoljna da primi razliku bilokoja dva pokazivača.Gore navedene operacije su jedine koje su dozvoljene s pokazivačima.Navedimo ih sve ponovo.• Pokazivaču može biti pridružena adresa (npr. px=&x);• Pokazivaču može biti pridružen pokazivač istog tipa (npr. px=py);• Pokazivaču može biti pridružena nula (npr. px=0 ili px=NULL);• Pokazivaču može biti dodana ili oduzeta cjelobrojna varijabla (npr.px+3, ++px, --px itd.);• Dva pokazivača mogu biti oduzeta ukoliko pokazuju na isto polje;• Dva pokazivača mogu biti povezana relacijskim operatorom ako pokazujuna isto polje.11.3.5 PrimjerKao primjer napišimo verziju funkcije strcpy iz standardne biblioteke.Prva verzija ima oblikvoid strcpy(char *s, char *t){int i=0;while((s[i] = t[i]) != ’\0’) i++;}

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

Saved successfully!

Ooh no, something went wrong!