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.2.POKAZIVAČI I FUNKCIJE 175f je funkcija koja uzima pokazivač na char i vraća pokazivač na int. Deklaracijasugerira da *f(s) mora biti tipa int (s je pokazivač na char ilijednostavno niz znakova).Pokazivač se u printf naredbi ispisuje s kontrolnim znakom %p:#include int main(void) {int i=5;int *pi=&i;}printf("i= %d, adresa od i= %p\n",i,pi);return 0;11.2 Pokazivači i funkcijePokazivači mogu biti argumenti funkcije. U tom slučaju funkcija možepromijeniti vrijednost varijable na koju pokazivač pokazuje.Uzmimo da želimo napisati funkciju zamjena koja uzima dva cijelobrojnaargumenta x i y i zamijenjuje njihove vrijednosti: x preslikava u y, a y u x.Funkciju bismo mogli ovako napisati:void zamjena(int x, int y) { /* POGRESNO */int temp=x;x=y;y=temp;}Ova funkcija ne daje traženi rezultat zbog prijenosa argumenta po vrijednosti.Pri pozivu funkcije zamjena(a,b) ona dobiva kopije stvarnih argumenataa i b koje medusobno zamijenjuje, ali to nema nikakvog utjecaja nastvarne argumente. Stoga, funkcija treba uzeti pokazivače na varijable čijevrijednosti treba zamijeniti. Poziv funkcije treba bitizamjena(&a,&b);a funkcija treba imati oblikvoid zamjena(int *px, int *py) {int temp=*px;*px=*py;*py=temp;}

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

Saved successfully!

Ooh no, something went wrong!