/* osoittimien välitys funktioon*/ #include <stdio.h> void eka_ali(int lukuA, int lukuB); void toka_ali(int *osoitin_lukuA, int *osoitin_lukuB); int main() { int luku1 = 0; int luku2 = 0; eka_ali(luku1, luku2); /* siirrytään eka_ali-aliohjelmaan vieden sinne luku1 ja luku2 muuttujissa oleva tieto, palataan takaisin eka_ali -aliohjel- masta ja näytetään luku1 ja luku2 muuttujien arvot */ printf("luku1 = %d ja luku2 = %d\n", luku1, luku2); toka_ali(&luku1, &luku2); /* siirrytään toka_ali-aliohjelmaan vieden sinne muuttujien luku1 ja luku2 osoitteet */ printf("luku1 = %d ja luku2 = %d\n", luku1, luku2); /* palattaessa toka-ali-ohjelmasta näytetään luku1 ja luku2 */ getch(); return 0; } void eka_ali(int lukuA, int lukuB) /* lukuA on 0, lukuB on 0 */ { lukuA = 1; lukuB = 1; printf("lukuA = %d ja lukuB = %d\n", lukuA, lukuB); } /*alla, *osoitin_lukuA ja *osoitin_lukuB saavat luku1 ja luku2 muuttujien osoitteet */ void toka_ali(int *osoitin_lukuA, int *osoitin_lukuB) { *osoitin_lukuA = 2; /* osoitin_lukuA osoittamaan paikkaan (luku1) sijoitetaan luku 2 */ *osoitin_lukuB = 2; /* osoitin_lukuA osoittamaan paikkaan (luku2) sijoitetaan luku 2 */ printf("*osoitin_lukuA = %d ja *osoitin_lukuB = %d\n", *osoitin_lukuA, *osoitin_lukuB); }