Daarna kunnen vanuit main andere functies oproepen worden. Een eenvoudig voorbeeld:
void
(func1 (void)
{
aanwijzingen in functie func1
//
.
.
}
void
(main(void)
{
//
de functie func1 wordt twee keer opgeroepen
funct1();
funct1();
}
Parameteroverdracht
Opdat functies flexibel gebruikt kunnen worden, kunt u ze parameteriseren. Hiervoor worden
in de haakjes na de functienaam de parameters voor de functie gescheiden door komma's
doorgegeven. U geeft net als in de variabelendeclaratie eerst het datatype en daarna de
parameternaam aan. Als u geen parameters wilt doorgeven, dan schrijft u void tussen de
ronde haakjes. Een voorbeeld:
void
funct1
(word
{
Msg_WriteHex(param1);
Msg_WriteFloat(param2);
}
Net als bij locale variabelen zijn overgenomen parameters alleen in de functie zelf
zichtbaar.
Om de functie func1 met de parameters op te roepen schrijft u bij het oproepen de
parameters in dezelfde volgorde als waarin ze bij func1 gedefinieerd zijn. Als de functie
geen parameters krijgt, laat u de haakjes leeg.
void
main (void)
{
word
a;
float
f;
funct1(128,12.0);
a=100;
f=12.0;
func1(a+28,f);
}
U moet bij het oproepen van een functie steeds alle parameters aangeven. De volgende
oproepen zouden ongeldig zijn:
func1();
// func1 krijgt 2 parameters!
func1(128);
// func1 krijgt 2 parameters!
Retourparameters
Het is niet alleen mogelijk parameters door te geven, een functie kan ook een retourwaarde
hebben. Het datatype van deze waarde wordt bij de functiedefinitie voor de naam van de
87
param1, float
param2)
// de eerste parameter aangeven
// de tweede parameter aangeven
//
u kunt numerieke constanten doorgeven
//
of ook variabelen en zelfs numerieke termen
...