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.5.POKAZIVAČI I CONST 18511.5 Pokazivači i constVidjeli smo da modifikator const možemo koristiti za definiciju konstanti.Na primjerconst double pi=3.14159;Jednako tako možemo ga primijeniti na pokazivače. Uzmimo sljedeći primjerdouble polje[5]={0.1,0.2,0.3,0.4,0.5};const double *pp=polje;Pokazivač pp deklariran je kao pokazivač na konstantan double. To značida on pokazuje na konstantnu varijablu tipa double. Pokazivač pp smoinicijalizirali s nekonstantnim poljem polje, što je dozvoljeno. Prevodilacnam jedino neće dozvoliti mijenjanje elemenata polja putem pokazivača pp.*pp=3.2; // nije dozvoljenopp[3]=1.0; // nije dozvoljenopolje[3]=1.0; // O.K.Sam pokazivač možemo slobodno mijenjatipp++;// O.K.Ako definiramo konstantnu varijablu, onda samo pokazivač na konstantantip može pokazivati na tu varijablu. Na primjer,const double polje[5]={0.1,0.2,0.3,0.4,0.5};const double *pp=polje; /* ISPRAVNO */double *pt=polje; /* NIJE DOZVOLJENO */Pokazivač na konstantan tip se deklarira kao argument funkcije da bise pokazalo da funkcija neće korititi pokazivač za mijenjanje varijable nakoju pokazuje. Funkcija koja samo ispisuje elemente polja mogla bi bitideklarirana na ovaj način:void print_array(const double *array, int n);Takva će funkcija prihvatiti konstantno i nekonstantno polje kao argument.Moguće je definirati konstantan pokazivač na nekonstantan tip. Trebasamo pomaknuti const u definiciji. Na primjer,double polje[5]={0.1,0.2,0.3,0.4,0.5};double * const pp=polje;pp = &polje[1]; /* NIJE DOZVOLJENO */*pp=56.9; /* DOZVOLJENO */

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

Saved successfully!

Ooh no, something went wrong!