![]() | Kun funktion otsikossa määritellään esimerkiksi |
int *p;
on määritelty muuttuja p,
joka voi saada arvokseen kokonaisluvun osoitteen.
Käytännössä muuttuja p
saa arvon funktion kutsussa.
![]() | Kutsussa muuttujaparametrin nimen edessä käytetään &-merkkiä, esim. f(&x); |
=> Muuttuja p on tässä tapauksessa osoitinmuuttuja, jonka kantatyyppinä on int ja x muuttuja, jonka tyyppinä on int.
![]() | Kun funktiossa halutaan käsitellä muuttujaa, joka on p:n ilmoittamassa osoitteessa, kirjoitetaan p:n eteen *, esim. |
*p = 1;
Seuraavassa kuvassa on esitetty taulukko, jonka avulla nähdään merkintöjen x,
&x, p ja *p väliset suhteet, kun x ajatellaan
määritellyksi kutsuvassa funktiossa kokonaislukuna ja p kutsuttavan funktion
osoitinparametrina funktion otsikossa siten, että sen kantatyyppinä on int.
Määrittely | muuttuja | osoite | käyttöalue |
int x; | x | &x | kutsuja |
void f (int *p); | *p | p | kutsuttu |