14.6.1 Muista aina sijoitus tai malloc tai new
Aina kun ohjelmassa esiintyy osoitintyyppinen muuttuja, pitää
muistaa, että ennen sen käyttöä se on alustettu joko
sijoituksella toiseen osoitteeseen tai osoittimelle on annettu arvo
malloc- funktiolla tai new- operaattorilla (joihin palataan
myöhemmin!). Siis aina:
int *osoitin;
/* Aina joko */
/* 1 */ osoitin = &muuttuja;
/* tai */
/* 2 */ osoitin = malloc(...);
// tai
/* 3 */ osoitin = new...
Noudattaako aliohjelman parametrit tätä sääntöä?
void laske_verot(double brutto, double pros,
double *pros_osuus, double *netto)
Kyllä, koska kutsu
laske_verot(10000.0,40.2,&verottajalle,&itselle)
tarkoittaa sijoitusta aliohjelman parametreihin:
brutto = 10000.0
pros = 40.2
pros_osuus = &verottajalle
netto = &itselle