C-Control II Unit
5.8.2 Parameter und lokale Variablen
Im Anweisungsblock einer Funktion können lokale Variablen definiert werden (siehe 5.5.5)
Die im Funktionskopf definierten Parameter können ebenso wie Variablen verwendet
werden. Numerische Parameter (byte ... float) sind echte lokale Variablen der Funktion. Sie
werden beim Aufruf der Funktion auf dem Stack des aktuellen Threads gespeichert und
mit dem übergebenen Wert initialisiert.
Variable Strings, Arrays und Parameter mit anwenderdefiniertem Datentyp hingegen
werden automatisch als Referenz übergeben. Manipulationen an Referenzparametern
wirken sich auf das referenzierte Datenobjekt aus.
z.B.
function fx ( string s )
{
s = "abc";
}
thread main
{
string local_s;
local_s = "123";
fx(local_s);
}
im Gegensatz zu numerischen Parametern:
function fx ( int i )
{
i = 0;
}
thread main
{
int local_i;
local_i = 1;
fx(local_i);
}
68
// local_s wird "abc"
// local_i bleibt 1