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.

11.3. OPERACIJE NAD POKAZIVAČIMA 177#include #include char *tocka(char *niz){char *p;for(p=niz; *p !=’\0’; ++p)if(*p == ’.’) return p;return NULL;}int main(void) {char *p="bigjob.com";}printf("Pokazivac na prvi znak=%p,\n""pokazivac na tocku= %p\n",p,tocka(p));return 0;Funkcija tocka vraća pokazivač na char. Tu je važno primijetiti da funkcijane smije vratiti pokazivač na lokalnu varijablu. Takav pokazivač ne pokazujena korektnu memorijsku lokaciju jer se lokalna varijabla uništava nakon izlaskaiz funkcija. Iznimka tog pravila je statička lokalna varijabla. Naime,statička varijabla postoji za cijelo vrijeme izvršavanja programa i ako funkcijavrati pokazivač na nju, ona se može koristiti i izvan funkcije; vidi primjeru sekciji 11.6.11.3 Operacije nad pokazivačima11.3.1 Povečavanje i smanjivanjeAritmetičke operacije dozvoljene nad pokazivačima konzistentne su sasvrhom pokazivača da pokazuju na varijablu odredenog tipa. Ako je pipokazivač tipa int, onda će pi+1 biti pokazivač na sljedeću varijablu tipaint u memoriji. To znači da dodavanje jedinice pokazivaču ne povećavaadresu koju on sadrži za jedan, već za onoliko koliko je potrebno da novavrijednost pokazuje na sljedeću varijablu istog tipa u memoriji.#include int main(void)

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

Saved successfully!

Ooh no, something went wrong!