User manual

58Compiler
© 2005 Conrad Electronic
}
void
main(
void
)
{
// die Funktion func1 wird zweimal aufgerufen
func1();
func1();
}
Parameterübergabe
Damit Funktionen flexibel nutzbar sind, kann man sie parametrisieren. Hierfür werden in der
Klammer nach dem Funktionsnamen die Parameter für die Funktion durch Komma getrennt
Parameternamen an. Will man keinen Parameter übergeben schreibt man
void
in die runden
Klammern. Ein Beispiel:
void
func1(
word
param1, float param2)
{
Msg_WriteHex(param1);
// den ersten Parameter ausgeben
Msg_WriteFloat(param2);
// den zweiten Parameter ausgeben
}
Wie lokale Variablen sind übergebene Parameter nur in der Funktion selber sichtbar.
Um die Funktion func1 mit den Parametern aufzurufen schreibt man beim Aufruf die Parameter in
der gleichen Reihenfolge wie sie bei func1 definiert wurden. Bekommt die Funktion keine
Parameter läßt man die Klammer leer.
void
main(
void
)
{
word
a;
float f;
func1(
128
,
12.0
);
// man kann numerische Konstanten übergeben ...
a=
100
;
f=
12.0
;
func1(a+
28
,f);
// oder aber auch Variablen und sogar numerische Ausdrücke
}
Man muß bei dem Aufruf einer Funktion immer alle Parameter angeben. Folgende Aufrufe
wären unzulässig:
func1();
// func1 bekommt 2 Parameter!
func1(
128
);
// func1 bekommt 2 Parameter!
Rückgabeparameter
Es ist nicht nur möglich Parameter zu übergeben, eine Funktion kann auch einen Rückgabewert
haben. Den Datentyp dieses Wertes gibt man bei der Funktionsdefinition vor dem Namen der
Funktion an. Möchte man keinen Wert zurückgeben, benutzt man
void
als Datentyp.
int
func1(
int
a)
{
return
a-
10
;
}